mailpost - Man Page

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] [-t tempdir] [-x header[:header...]] [-z header[:header...]] newsgroups


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 header fields (cleans up some address headers, removes a few ones like X-Complaints-To: and X-Trace:, and puts X- in front of unknown header fields).  The Received: and *-To: header fields are also altered to prevent spamming the gateway (the name of the news server or the domain name from inn.conf are removed).

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 -t /var/tmp -d local"

The -b and -t flags are useful to change the directories used by mailpost by default.  As a matter of fact, though it is recommended to run mailpost as the news user, it is as often as not run as another user, for instance the mail user.  Therefore, you should make sure to create and set to be writable by the user that mailpost runs as the directories where to put the database and the temporary files.

Instead of /var/tmp, the mail spool directory can be specified, or any other directory where the mailpost process has write access.


-a addr

If the -a flag is used, the value given is added to the article as an Approved: header.

-b database

If the -b flag is used, then it defines the location of the persistent 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 database directory. The default value is pathdb as set in inn.conf.

-c wait-time

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.

-d distribution

If the -d flag is used, the value given is added to the article as a Distribution: header.

-f addr

The -f flag is a synonym for the -r flag.


Print usage information and exit.

-m mailing-list

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.


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 standard output.

-o output-command

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.

-p port

Specifies the port on which nnrpd is listening, used for article posting. If given, -p is passed along to inews.

-r addr

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 determined.

-t tempdir

If the -t flag is used, then it defines the location of the directory to use to temporarily store error messages that are sent to the newsmaster.  This option may be required if the default value refers to a path that does not exist or the mailpost process does not have write access to.  Two paths are tried by default:  pathtmp as set in inn.conf, and then /var/tmp if pathtmp is not writable.

-x header[:header...]

A colon-separated list of additional header fields which should be treated as known header fields; these header fields will be passed through to inews without having X- prepended.

Known header fields are:

-z header[:header...]

A colon-separated list of additional header fields which should be removed.

Removed header fields are:




The Perl script itself used to feed an e-mail message to a newsgroup.

pathdb/mailpost-msgid.dir and pathdb/mailpost-msgid.pag

The default database files which record previously seen message-IDs.


Written by Paul Vixie long ago and then hacked up by James Brister for INN integration.

$Id: 10171 2017-07-22 14:01:37Z iulius $

See Also

active(5), inews(1), inn.conf(5), nnrpd(8), uwildmat(3).

Referenced By


2018-01-28 INN 2.6.4 InterNetNews Documentation