mailpost - Feed an e-mail message into a newsgroup
mailpost [-hn] [-a addr] [-b database] [-c wait-time] [-d distribution]
[-f addr] [-m mailing-list] [-o output-command] [-p port] [-r addr] [-x
The mailpost program reads a properly formatted e-mail message from
stdin and feeds it to inews for posting to a news server. newsgroups
is a whitespace-separated list of group names to which to post the
article (at least one newsgroup must be specified).
Before feeding the article to inews, it checks that the article has not
been seen before, and it changes some headers (cleans up some address
headers, removes X-Trace: and X-Complaints-To:, and puts "X-" in front
of unknown headers).
If the article has been seen before (mailpost records the Message-ID of
each article it handles), then the article will be dropped with a non-
zero error status. Other errors will cause the article to be mailed to
the newsmaster (selected at configure time and defaulting to "usenet").
Normally, mailpost is run by sendmail(8) via an alias entry:
local-mail-wreck-bikes: "|<pathbin in inn.conf>/mailpost
-b /var/tmp -d local local.mail.rec.bicycles.racing"
Instead of /var/tmp, the mail spool directory can be specified, or any
other directory where the mailpost process has write access.
If the -a flag is used, the value given is added to the article as
an Approved: header.
If the -b flag is used, then it defines the location of the
database used to store the Message-IDs of articles sent on. This
is to prevent articles looping around if a news-to-mail gateway
sends them back here. This option may be required if the mailpost
process does not have write access to the news temporary directory.
The default value is pathtmp as set in inn.conf.
The -c flag indicates a length of time to sleep before posting. If
duplicate messages are received in this interval (by any instance
of mailpost using the same database), the article is only posted
once, but with Newsgroups: header modified to crosspost the article
to all indicated groups. The units for wait-time are seconds; a
reasonable value may be anywhere from tens to hundreds of seconds,
or even higher, depending on how long mail can be delayed on its
way to your system.
If the -d flag is used, the value given is added to the article as
a Distribution: header.
The -f flag is a synonym for the -r flag.
-h Print usage information and exit.
If the -m flag is used, the value given is added to the article in
a Mailing-List: header, if such a header doesn’t already exist.
-n If the -n flag is used, neither an article is posted nor a mail is
sent in case an error occurs. Everything is written to the
Specifies the program to which the resulting article processed by
mailpost should be sent. For debugging purpose, "-o cat" can be
used. The default value is "inews -S -h".
Specifies the port on which nnrpd is listening, used for article
posting. If given, -p is passed along to inews.
A heuristic is used to determine a reasonable value for the Path:
header. The -r flag indicates what to use if no other value can be
A colon-separated list of additional headers which should be
treated as known headers; these headers will be passed through to
inews without having "X-" prepended.
Known headers are:
The Perl script itself used to feed an e-mail message to a
pathtmp/mailpost-msgid.dir and pathtmp/mailpost-msgid.pag
The default database files which record previously seen Message-
Written by Paul Vixie long ago and then hacked up by James Brister for
$Id: mailpost.in 9025 2010-03-21 16:49:41Z iulius $
active(5), inews(1), inn.conf(5), nnrpd(8), uwildmat(3).