post - deliver a message
/usr/lib/nmh/post [-alias aliasfile]
[-filter filterfile] [-nofilter] [-format] [-noformat]
[-mime] [-nomime] [-msgid] [-nomsgid] [-verbose]
[-noverbose] [-watch] [-nowatch] [-width columns]
file [-version] [-help]
Post is the default program called by send (1) to deliver the message
in file to local and remote users. In fact, most of the features
attributed to send in its manual page are performed by post, with send
acting as a relatively simple preprocessor. Thus, it is post which
parses the various header fields, appends From: and Date: lines, and
interacts with the mail transport system. Post will not normally be
called directly by the user.
Post searches the "To:", "cc:", "Bcc:", "Fcc:", and "Resent-xxx:"
header lines of the specified message for destination addresses, checks
these addresses for validity, and formats them so as to conform to
ARPAnet Internet Message Format protocol, unless the `-noformat' flag
is set. This will normally cause "@local-site" to be appended to each
local destination address, as well as any local return addresses. The
`-width columns' switch can be used to indicate the preferred length of
the header components that contain addresses.
If a "Bcc:" field is encountered, its addresses will be used for deliv-
ery, and the "Bcc:" field will be removed from the message sent to
sighted recipients. The blind recipients will receive an entirely new
message with a minimal set of headers. Included in the body of the
message will be a copy of the message sent to the sighted recipients.
If `-filter filterfile' is specified, then this copy is filtered
(re-formatted) by mhl prior to being sent to the blind recipients.
Alternately, if the `-mime' switch is given, then post will use the
MIME rules for encapsulation.
The `-alias aliasfile' switch can be used to specify a file that post
should take aliases from. More than one file can be specified, each
being preceded with `-alias'. In any event, the primary alias file is
The `-msgid' switch indicates that a "Message-ID:" or "Resent-Mes-
sage-ID:" field should be added to the header.
The `-verbose' switch indicates that the user should be informed of
each step of the posting/filing process.
The `-watch' switch indicates that the user would like to watch the
transport system's handling of the message (e.g., local and "fast"
Under normal circumstances, post constructs the "From:" line of the
message from the user's login name, the full name from the GECOS field
of the passwd file, and the fully-qualified name of the local machine
(or the value of "localname" in mts.conf, if set). An example is
"From: Dan Harkless <email@example.com>". There are four ways to
override these values, however. Note that they apply equally to
"Resent-From:" lines in messages sent with dist.
The first way is GECOS-based username masquerading. If the
"masquerade:" line in mts.conf contains "mmailid", this processing is
activated. If a user's GECOS field in the passwd file is of the form
"Full Name <fakename>" then "fakename" will be used in place of the
real username. For instance, a GECOS field of "Dan Harkless <Dan.Hark-
less>" would result in "From: Dan Harkless <Dan.Harkless@machine.com-
pany.com>". Naturally if you were doing something like this you'd want
to set up an MTA alias (e.g. in /etc/aliases) from, for instance,
"Dan.Harkless" to "dan".
The second way to override default construction of "From:" is to set
the $SIGNATURE environment variable. This variable overrides the full
name from the GECOS field, even if GECOS-based masquerading is being
done. This processing is always active, and does not need to be
enabled from mts.conf.
The third way is controlled by the "user_extension" value of "masquer-
ade:" line of mts.conf. When that's turned on, setting the $USER-
NAME_EXTENSION environment variable will result in its value being
appended the user's login name. For instance, if I set $USER-
NAME_EXTENSION to "+www", my "From:" line will contain "Dan Harkless
<firstname.lastname@example.org>" (or "Dan.Harkless+www" if I'm using
mmailid masquerading as well). Recent versions of sendmail automati-
cally deliver all mail sent to user+string to user. qmail has a simi-
lar feature which uses '-' as the delimiter by default, but can use
other characters as well.
The fourth method of address masquerading is to specify a "From:" line
manually in the message draft. It will be used as provided (after
alias substitution), but normally, to discourage email forgery, the
user's real address will be used in the SMTP envelope "From:" and in a
"Sender:" header. However, if the "masquerade:" line of mts.conf con-
tains "draft_from", the SMTP envelope "From:" will use the address
given in the draft "From:", and there will be no "Sender:" header.
This is useful in pretending to send mail "directly" from a remote POP3
account, or when remote email robots give improper precedence to the
envelope "From:". Note that your MTA may still reveal your real iden-
tity (e.g. sendmail's "X-Authentication-Warning:" header).
/etc/nmh/mts.conf nmh mts configuration file
/etc/nmh/MailAliases global nmh alias file
/usr/bin/refile Program to process Fcc:s
/usr/lib/nmh/mhl Program to process Bcc:s
post does NOT consult the user's .mh_profile
Standard for the Format of ARPA Internet Text Messages (RFC-822),
mhmail(1), send(1), mh-mail(5), mh-alias(5), mh-tailor(5)
"Reply-To:" fields are allowed to have groups in them according to the
822 specification, but post won't let you use them.
[nmh-1.0.4] MH.6.8 POST(8)
Man(1) output converted with