From the README:
M2N is a mail-to-news filter.
m2n [ -d | -m | -r addr | -R | -e var ] [ groupid ]
Commandline options:
-d
Enables debugging. Output to stdout instead of piped to rnews.
-m
Turns on message-ID munging, in which the newsgroup ID is prefixed
to all message-IDs, so that the same message arriving in multiple
mailing lists shows up in each of them instead of being treated as
a duplicate news article.
-r address
Allows hardcoding a Reply-To: address.
-R
Hardcodes the Reply-To: address according to the Usenet moderator
convention of newsgroup name with dots changed to hyphens, with
the local domain appended. Articles in example.ml.libmisc would then
get "Reply-To: example-ml-libmisc@example.com".
This was used at $VBC, where we wanted certain key people to act as
moderators on postings employees were making to lists about $VBC's
products. This beat having a junior flunky tell the customers "Oh
yeah, we'll do $FOO in the next release" again.
-e variablename
Sets the name of an environment variable containing the group name.
This is safer than actually expanding the variable on the command
line and risking shell metacharacter damage. Qmail provides such
variables in its command-execution environment.
Example:
On a qmail host,
In m2nconfig.h we have
#define NEWSUSER "news"
#define MYFQDN "example.com"
#define DEFAULTGROUP "example.ml.errors"
#define GROUPPREFIX "example.ml."
#define ENV_GROUP "EXT"
/var/qmail/control/virtualdomains says "lists.example.com:lists".
~lists/.qmail-default says "|/usr/local/bin/m2n".
On a smail host, there used to be a lot of dummy users, each subscribed
to one list, and each having a .forward with "| m2n groupid". But that
was awhile ago.