]> diplodocus.org Git - nmh/blobdiff - man/post.man
new.c: Order two return statements to match comment.
[nmh] / man / post.man
index d5b9e4e5c8ff5b08813a6496c16df15cc58c9c74..0e8e3093535fe6d504f870cea90c0d80314ac260 100644 (file)
-.\"
+.TH POST %manext8% 2016-10-17 "%nmhversion%"
+.
 .\" %nmhwarning%
 .\" %nmhwarning%
-.\" $Id$
-.\"
-.\" include the -mh macro file
-.so %etcdir%/tmac.h
-.\"
-.TH POST %manext8% MH.6.8 [%nmhversion%]
+.
 .SH NAME
 .SH NAME
-post \- deliver a message
+post \- deliver an nmh message
 .SH SYNOPSIS
 .SH SYNOPSIS
-.in +.5i
-.ti -.5i
-%libdir%/post 
-\%[\-alias\ aliasfile]
-.br
-\%[\-filter\ filterfile] \%[\-nofilter]
-\%[\-format] \%[\-noformat]
-.br
-\%[\-mime] \%[\-nomime]
-\%[\-msgid] \%[\-nomsgid]
-\%[\-verbose]
-.br
-\%[\-noverbose]
-\%[\-watch] \%[\-nowatch]
-\%[\-width\ columns]
-.br
-file
-\%[\-version]
-\%[\-help]
-.in -.5i
+.HP 5
+.na
+.B %nmhlibexecdir%/post
+.RB [ \-help ]
+.RB [ \-version ]
+.RB [ \-alias
+.IR aliasfile ]
+.RB [ \-filter
+.IR filterfile ]
+.RB [ \-nofilter ]
+.RB [ \-format " | " \-noformat ]
+.RB [ \-mime " | " \-nomime ]
+.RB [ \-msgid " | " \-nomsgid ]
+.RB [ \-messageid
+.IR localname " | " random ]
+.RB [ \-verbose " | " \-noverbose ]
+.RB [ \-watch " | " \-nowatch ]
+.RB [ \-width
+.IR columns ]
+.RB [ \-mts
+.IR smtp " | " sendmail/smtp " | " sendmail/pipe ]
+.RB [ \-sendmail
+.IR program ]
+.RB [ \-server
+.IR servername ]
+.RB [ \-port
+.IR portname/number ]
+.RB [ \-sasl ]
+.RB [ \-nosasl ]
+.RB [ \-saslmech
+.IR mechanism ]
+.RB [ \-user
+.IR username ]
+.RB [ \-tls ]
+.RB [ \-initialtls ]
+.RB [ \-notls ]
+.I file
+.ad
 .SH DESCRIPTION
 .SH DESCRIPTION
-\fIPost\fR is the default program called by \fIsend\fR\0(1) to deliver
-the message in \fIfile\fR to local and remote users.  In fact, most of
-the features attributed to \fIsend\fR in its manual page are performed by
-\fIpost\fR, with \fIsend\fR acting as a relatively simple preprocessor.
-Thus, it is \fIpost\fR which parses the various header fields, appends
-From: and Date: lines, and interacts with the mail transport system.
-\fIPost\fR will not normally be called directly by the user.
-
-\fIPost\fR searches the \*(lqTo:\*(rq, \*(lqcc:\*(rq, \*(lqBcc:\*(rq,
+.B post
+is the default program called by
+.B send
+to deliver the message in
+.I file
+to local and remote users.
+In fact, most of the features attributed to
+.B send
+in its manual page are performed by
+.BR post ,
+with
+.B send
+acting as a relatively simple preprocessor.
+Thus, it is
+.B post
+which parses the various header fields, appends a
+\*(lqDate:\*(rq line, and interacts with the mail transport system.
+.B post
+will not normally be called directly by the user, but can be replaced
+by the user with a
+.I postproc
+profile component that will have
+.I file
+as its final argument.
+See
+.IR mh-profile (5)
+for more information on postproc.
+.PP
+.B post
+searches the \*(lqTo:\*(rq, \*(lqcc:\*(rq, \*(lqBcc:\*(rq,
 \*(lqFcc:\*(rq, and \*(lqResent\-xxx:\*(rq 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
 \*(lqFcc:\*(rq, and \*(lqResent\-xxx:\*(rq 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
+protocol, unless the
+.B \-noformat
+flag is set.  This will normally cause
 \*(lq@\fIlocal\-site\fR\*(rq to be appended to each local destination
 \*(lq@\fIlocal\-site\fR\*(rq to be appended to each local destination
-address, as well as any local return addresses.  The `\-width\ columns'
+address, as well as any local return addresses.  The
+.B \-width
+.I columns
 switch can be used to indicate the preferred length of the header
 components that contain addresses.
 switch can be used to indicate the preferred length of the header
 components that contain addresses.
-
+.PP
 If a \*(lqBcc:\*(rq field is encountered, its addresses will be used for
 delivery, and the \*(lqBcc:\*(rq 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 a \*(lqBcc:\*(rq field is encountered, its addresses will be used for
 delivery, and the \*(lqBcc:\*(rq 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 \fImhl\fR prior to being sent to the blind recipients.
-Alternately, if the `\-mime' switch is given, then \fIpost\fR 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
-read first.
-
-The `\-msgid' switch indicates that a \*(lqMessage\-ID:\*(rq or
+If
+.B \-filter
+.I filterfile
+is specified, then this copy is filtered (re-formatted) by
+.B mhl
+prior to being sent to the blind recipients.
+Alternately, if the
+.B \-mime
+switch is given, then
+.B post
+will use the MIME rules for encapsulation.
+.PP
+The
+.B \-alias
+.I aliasfile
+switch can be used to specify a file that post should read aliases from.
+More than one file can be specified, with each being preceded by
+.BR \-alias .
+In any event, the primary alias file is read first.
+.PP
+The
+.B \-msgid
+switch indicates that a \*(lqMessage\-ID:\*(rq or
 \*(lqResent\-Message\-ID:\*(rq field should be added to the header.
 \*(lqResent\-Message\-ID:\*(rq field should be added to the header.
-
-The `\-verbose' switch indicates that the user should be informed of
+.PP
+The
+.B \-messageid
+switch selects the style used for the part appearing after the @
+in \*(lqMessage\-ID:\*(rq, \*(lqResent\-Message\-ID:\*(rq, and
+\*(lqContent\-ID:\*(rq header fields.  The two acceptable options are
+.B localname
+(which is the default),
+and
+.BR random .
+With
+.BR localname ,
+the local hostname is used.  With
+.BR random ,
+a random sequence of characters is used instead.  Note that the
+.B \-msgid
+switch must be enabled for this switch to have any effect.
+.PP
+The
+.B \-verbose
+switch indicates that the user should be informed of
 each step of the posting/filing process.
 each step of the posting/filing process.
-
-The `\-watch' switch indicates that the user would like to watch the
+.PP
+The
+.B \-watch
+switch indicates that the user would like to watch the
 transport system's handling of the message (e.g., local and \*(lqfast\*(rq
 delivery).
 transport system's handling of the message (e.g., local and \*(lqfast\*(rq
 delivery).
-
-Under normal circumstances, \fIpost\fR constructs the "From:" line of the
-message from the user's UNIX username, the full name from the GECOS field of the
-passwd file, and the fully-qualified name of the local machine (e.g. `From: "Dan
-Harkless" <dan@machine.company.com>').  However, there are three ways to
-override these values.  Note that they apply equally to "Resent-From:" lines in
-messages sent with \fIdist\fR.
-
-The first way is GECOS-based username masquerading.  If "mmailid" in the
-mts.conf file has been set to non-zero, 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.Harkless>" would result in `From: "Dan Harkless"
-<Dan.Harkless@machine.company.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
-\fB$SIGNATURE\fR environment variable.  This variable overrides the full name
-from the GECOS field, even if GECOS-based masquerading is being done.
-
-The third way, which will override either of the previous two, is to specify a
-"From:" line manually in the message draft.  It will be used as provided (after
-alias substitution), but to discourage email forgery, the user's real address
-will be used in the SMTP envelope "From:" and in the "Sender:" line.  However,
-if the system administrator has allowed address masquerading by setting
-"mmailid" to non-zero in mts.conf, 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 identity (e.g. sendmail's
-"X-Authentication-Warning:" header).
-
-.Fi
-^%etcdir%/mts.conf~^nmh mts configuration file
-^%etcdir%/MailAliases~^global nmh alias file
+.PP
+Under normal circumstances,
+.B post
+uses the \*(lqFrom:\*(rq line in the message draft as the identity of
+the originating mailbox.  A \*(lqFrom:\*(rq line is required in
+all message drafts.  By default the message composition utilities such
+as
+.BR comp ,
+.B repl
+and
+.B mhmail
+will automatically place a \*(lqFrom:\*(rq line in the message draft.
+There are two ways to override this behavior, however.
+Note that they apply equally to \*(lqResent\-From:\*(rq lines in messages sent
+with
+.BR dist .
+.PP
+The first way is to supply a \*(lqSender:\*(rq line.  The value of this
+field will be used as the originating mailbox identity when submitting the
+message to the mail transport system.  If multiple addresses are
+given in the \*(lqFrom:\*(rq line, a \*(lqSender:\*(rq line is
+.BR required .
+If an \*(lqEnvelope-From:\*(rq line is supplied when multiple addresses
+are given in the \*(lqFrom:\*(rq line, a \*(lqSender:\*(rq header will
+be generated using the value of the \*(lqEnvelope-From:\*(rq line,
+.B if
+the \*(lqEnvelope-From:\*(rq line is not blank.
+.PP
+The second way is to supply a \*(lqEnvelope-From:\*(rq line.  The value
+of this field will be used as the originating mailbox identity when
+submitting the message to the mail transport system.  This will override
+both the value of the \*(lqFrom:\*(rq line and a \*(lqSender:\*(rq line
+(if one is supplied).  The \*(lqEnvelope-From:\*(rq line is allowed to
+have a blank value; if the value is blank, then the mail transport system
+will be instructed to not send any bounces in response to the message.
+Not all mail transport systems support this feature.
+.PP
+The mail transport system default is defined in
+.I %nmhetcdir%/mts.conf
+but can be overridden here with the
+.B \-mts
+switch.
+.PP
+If nmh is using
+.BR sendmail/pipe ,
+as its mail transport system, the
+.B \-sendmail
+switch can be used to override the default
+.B sendmail
+program.
+.PP
+If nmh is using the SMTP MTA, the
+.B \-server
+and
+.B \-port
+switches can be used to override the default mail server and port.
+The default server is set with
+.I servers
+in
+.IR %nmhetcdir%/mts.conf ,
+and the default port is
+.IR submission ,
+587.
+.PP
+If
+.B nmh
+has been compiled with SASL support, the
+.B \-sasl
+and
+.B \-nosasl
+switches will enable and disable
+the use of SASL authentication with the SMTP MTA.  Depending on the
+SASL mechanism used, this may require an additional password prompt from the
+user (but the
+.I netrc
+file can be used to store this password, as described in
+.IR mh-profile (5).
+The
+.B \-saslmech
+switch can be used to select a particular SASL mechanism,
+and the
+.B \-user
+switch can be used to select an authorization userid to provide to SASL,
+other than the default.  The credentials profile entry in
+.IR mh-profile (5)
+describes the ways to supply a username and password.
+.PP
+If SASL authentication is successful,
+nmh
+will attempt to negotiate a security layer for session encryption.
+Encrypted data is labelled with `(sasl-encrypted)' and `(sasl-decrypted)' when
+viewing the SMTP transaction with the
+.B \-snoop
+switch.
+Base64-encoded data is wrapped with `b64<>'.
+(Beware that the SMTP transaction may contain authentication information either
+in plaintext or easily decoded base64.)
+.PP
+If
+.B nmh
+has been compiled with TLS support, the
+.B \-tls
+and
+.B \-initialtls
+switches will require the negotiation of TLS when connecting to the SMTP MTA.
+The
+.B \-tls
+switch will negotiate TLS as part of the normal SMTP protocol
+using the STARTTLS command.  The
+.B \-initialtls
+will negotiate TLS immediately after the connection has
+taken place, before any SMTP commands are sent or received.  Encrypted data
+is labelled with `(tls-encrypted)' and
+`(tls-decrypted)' when viewing the SMTP transaction with the
+.B \-snoop
+switch.
+Base64-encoded data is wrapped with `b64<>'.
+(Beware that the SMTP transaction may contain authentication information either
+in plaintext or easily decoded base64.)
+The
+.B \-notls
+switch will disable all attempts to negotiate TLS.
+.PP
+If port 465 is specified and none of the TLS switches were enabled,
+.B \-initialtls
+will be implied if TLS support was compiled in.  Though port 465 for
+SMTPS (SMTP over SSL) was deregistered by IANA in 1998, it is still
+used for that service.
+.PP
+.B post
+filters out header lines with names beginning with \*(lqNmh-\*(rq
+(case insensitive) from the message draft.
+Those lines are reserved for internal
+.B nmh
+use.
+.SH FILES
+.fc ^ ~
+.nf
+.ta \w'%nmhetcdir%/ExtraBigFileName  'u
+^%nmhetcdir%/mts.conf~^nmh mts configuration file
+^%nmhetcdir%/MailAliases~^global nmh alias file
 ^%bindir%/refile~^Program to process Fcc:s
 ^%bindir%/refile~^Program to process Fcc:s
-^%libdir%/mhl~^Program to process Bcc:s
-.Pr
-\fIpost\fR does \fBNOT\fR consult the user's \&.mh\(ruprofile
-.Sa
-\fIStandard for the Format of ARPA Internet Text Messages\fR (RFC\-822),
-.br
-mhmail(1), send(1), mh\-mail(5), mh\-alias(5), mh\-tailor(5)
-.De
-`\-alias %etcdir%/MailAliases'
-.Ds
-`\-format'
-.Ds
-`\-nomime'
-.Ds
-`\-nomsgid'
-.Ds
-`\-noverbose'
-.Ds
-`\-nowatch'
-.Ds
-`\-width\ 72'
-.Ds
-`\-nofilter'
-.Co
+^%nmhlibexecdir%/mhl~^Program to process Bcc:s
+.fi
+.SH "PROFILE COMPONENTS"
+.B post
+does
+.I not
+consult the user's
+.I \&.mh_profile
+.SH "SEE ALSO"
+.IR mhmail (1),
+.IR send (1),
+.IR mh\-mail (5),
+.IR mh\-alias (5),
+.IR mh\-profile (5),
+.IR mh\-tailor (5)
+.PP
+.I "Standard for the Format of ARPA Internet Text Messages"
+(RFC 822)
+.SH DEFAULTS
+.nf
+.RB ` \-alias "' defaults to %nmhetcdir%/MailAliases"
+.RB ` \-format '
+.RB ` \-nomime '
+.RB ` \-nomsgid '
+.RB ` "\-messageid\ localname" '
+.RB ` \-noverbose '
+.RB ` \-nowatch '
+.RB ` "\-width\ 72" '
+.RB ` \-nofilter '
+.fi
+.SH CONTEXT
 None
 None
-.Bu
+.SH BUGS
 \*(lqReply\-To:\*(rq fields are allowed to have groups in them according
 \*(lqReply\-To:\*(rq fields are allowed to have groups in them according
-to the 822 specification, but \fIpost\fR won't let you use them.
-.En
+to the RFC 822 specification, but
+.B post
+won't let you use them.