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.