News and mail are quite similar, but they aren't identical. News adheres to a stricter syntax than mail, which means that a quite a few mail messages would be rejected by the news server if they weren't massaged a bit first.

Slight mangling also has to be done when transforming news into mail, but not a whole lot.

Mail To News

Gmane renames a whole bunch of message headers before posting the messages. The following headers are renamed to Original-.
  • Newsgroups
  • Path
  • X-Trace
  • X-Complaints-To
  • NNTP-Posting-Date
  • Xref
  • Approved
  • Received
  • Lines
  • NNTP-Posting-Host
  • To
  • Approved
  • Distribution
The following headers are added:
  • Newsgroups
  • Approved
The From envelope header is removed.

The Subject header is filtered -- Gmane removes the list identifier. It usually looks something like [list-name].

If there is no References header, or the header is syntactically invalid, the In-Reply-To header is consulted, and any likely content from that header is substituted. The original References header, if any, is renamed to Original-References.

If it looks like the message didn't come from the mailing list in question, the message is shunted off to the special gmane.junk group. This is mostly spam sent directly to Gmane.

Certain headers can only appear once. The second occurrence of the following headers are renamed to Original-:

  • Reply-To
  • Cc
  • Content-Transfer-Encoding
  • Content-Type

If a Subject header doesn't exist, a dummy Subject header is inserted.

If the Date header is syntactically invalid, it is renamed, and a new one is generated.

If the message is a duplicate, the Message-ID header is renamed, and a new Message-ID is generated. If the message has already been posted to the group in question, the message is discarded. This usually happens when messages are sent to two mailing lists, and have already been crossposted to the groups in question.

All headers are "normalized". That is, Gmane makes sure that all headers look like Header: -- a header name, followed by a colon, followed by a single space.

Recognizable list admin banners are removed from message bodies.

Messages that have Subject headers reading only "subscribe" or "unsubscribe" are discarded. The same fate awaits "membership reminders" and the like from the mailing lists.

Finally, there may be other elements in the message that may lead to inn discarding the message. It may be empty, perhaps, or there may be a misconfiguration of some kind.


News To Mail

The To header is removed and an X-Injected-Via-Gmane header is added, and that's basically it for most mailing lists.

The Mail-Copies-To: never header results in a Mail-Followup-To: header being added.

Special rules may be added for specific mailing lists.