.\"
.\" %nmhwarning%
.\"
-.TH SEND %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
+.TH SEND %manext1% "July 8, 2014" "%nmhversion%"
.SH NAME
send \- send a message
.SH SYNOPSIS
.RB [ \-forward " | " \-noforward ]
.RB [ \-mime " | " \-nomime ]
.RB [ \-msgid " | " \-nomsgid ]
+.RB [ \-messageid
+.IR localname " | " random ]
.RB [ \-push " | " \-nopush ]
.RB [ \-split
.IR seconds ]
.RB [ \-verbose " | " \-noverbose ]
.RB [ \-watch " | " \-nowatch ]
+.RB [ \-mts
+.IR smtp " | " sendmail/smtp " | " sendmail/pipe ]
.RB [ \-server
.IR servername ]
.RB [ \-port
.RB [ \-user
.IR username ]
.RB [ \-tls ]
+.RB [ \-initialtls ]
.RB [ \-notls ]
.RB [ \-width
.IR columns ]
.RB [ file
-\&...]
+\&...]
.RB [ \-version ]
.RB [ \-help ]
-.RB [ \-attach
-.IR header-field-name ]
-.RB [ \-noattach ]
-.RB [ \-attachformat
-.IR 0 " | " 1 " | " 2 ]
.ad
.SH DESCRIPTION
.B Send
.B send
are actually performed by
.BR post .
-
.PP
-By default the draft is scanned for a header named
-.IR Nmh-Attachment .
+Before
+.B send
+gives the message to
+.B post
+for delivery, the message is processed by
+.B mhbuild
+to perform any necessary MIME encoding of the outgoing message. This
+can be changed by the
+.I buildmimeproc
+profile component.
+.B mhbuild
+is invoked with the
+.B \-auto
+switch, so
+.B mhbuild
+directives are not processed by default. See
+.IR mhbuild (1)
+for more information.
+.PP
+.B mhbuild
+will scan the message draft for a header named
+.IR Attach .
The draft is converted to a MIME message if one or more matches are found.
-This conversion occurs before all other processing. The header name
-can be changed with the
-.B \-attach
-option. This behavior can be disabled completely with the
-.B \-noattach
-option.
+This conversion occurs before all other processing. The
+.IR whatnow (1)
+man page describes the user interface for managing MIME attachments via
+this mechanism.
.PP
The first part of the MIME message is the draft body if that body contains
any non-blank characters.
-The body of each header field whose name matches the
-.I header-field-name
-is interpreted as a file name, and each file named is included as a separate
+The body of each
+.I Attach
+header field is interpreted as a file name, and each file named is included as a separate
part in the MIME message.
.PP
-For file names with dot suffixes, the profile is scanned for a
+Determination of the content MIME type inserted into the Content-Type
+header for each part depends on how the
+.B nmh
+installation was configured. If a program, such as
+.B file
+with a
+.B \-\-mime
+or
+.B \-i
+option, was found that can specify the type of a file as a MIME type
+string, then that will be used. To determine if your
+.B nmh
+was so configured, run
+.B mhparam mimetypeproc
+and see if a non-empty string is displayed.
+.PP
+If your
+.B nmh
+was not configured with a program to specify a file type as a MIME
+string, then a different method is used to determine the content-type
+string. For file names with dot suffixes, the profile is scanned for a
.I mhshow-suffix-
entry for that suffix.
The content-type for the part is taken from that profile entry if a match is
If no match is found or the file does not have a dot suffix, the content-type
is text/plain if the file contains only ASCII characters or application/octet-stream
if it contains characters outside of the ASCII range. See
-.BR mhshow (1)
+.IR mhshow (1)
for more details and example syntax.
.PP
-Each part contains a name attribute that is the last component of the path name.
-A
-.I x-unix-mode
-attribute containing the file mode accompanies each part.
-Finally, a description attribute is generated by running the
-.I file
-command on the file.
-.PP
-The
-.B -attachformat
-option specifies the MIME header field formats: a value of
-.B 0
-includes the
-.I x-unix-mode
-attribute as noted above. A value of
-.BR 1 ,
-the default,
-suppresses that, puts the file name in the
-\*(lqContent-Description\*(rq header, and
-adds a \*(lqContent-Disposition\*(rq header. A value of
-.B 2
-adds the file
-.I modification-date
-parameter to the \*(lqContent-Disposition\*(rq header. You can
-specify one value in your profile, and override it for individual
-messages at the
-.I whatnow
-prompt.
-.PP
-Here are example message part headers, for an attachment, for each of the
-.B -attachformat
-values:
+Each attached MIME part contains a
+\*(lqContent-Description\*(rq header that includes the filename, and
+adds a \*(lqContent-Disposition\*(rq header.
+Here is an example of MIME part headers for an attachment:
.PP
.nf
--attachformat 0:
-Content-Type: text/plain; name="VERSION"; x-unix-mode="0644";
- charset="us-ascii"
-Content-Description: ASCII text
-
--attachformat 1:
Content-Type: text/plain; name="VERSION"; charset="us-ascii"
Content-Description: VERSION
Content-Disposition: attachment; filename="VERSION"
-
--attachformat 2:
-Content-Type: text/plain; name="VERSION"; charset="us-ascii"
-Content-Description: VERSION
-Content-Disposition: attachment; filename="VERSION"; modification-date="Mon, 19 Dec 2005 22:39:51 -0600"
.fi
.PP
+See
+.IR mhbuild (1)
+for explanation of how the Content-Disposition value is selected.
+.PP
If
.B \-push
is specified,
.B nmh
draft folder facility. This is an advanced (and highly
useful) feature. Consult the
-.BR mh-draft (5)
+.IR mh-draft (5)
man page for more
information.
.PP
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.
.PP
-If a \*(lqDcc:\*(rq field is encountered, its addresses will be used for
+If a \*(lqDcc:\*(rq field is encountered and the
+.B sendmail/pipe
+mail transport method is not in use, its addresses will be used for
delivery, and the \*(lqDcc:\*(rq field will be removed from the message. The
blind recipients will receive the same message sent to the sighted
recipients. *WARNING* Recipients listed in the \*(lqDcc:\*(rq field receive no
is specified, then a \*(lqMessage\-ID:\*(rq field will also
be added to the message.
.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
If
.B send
is re\-distributing a message (when invoked by
.B send
as to how long it should make header lines containing addresses.
.PP
+The mail transport system default is provided in
+.I %etcdir%/mts.conf
+but can be overriiden here with the
+.B \-mts
+switch.
+.PP
If nmh is using the SMTP MTA, the
.B \-server
and the
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
-.RI \*(lq \&.netrc \*(rq
-file can be used to store this password).
+.I netrc
+file can be used to store this password, as described in the
+mh-profile(5) man page). The
.B \-saslmech
switch can be used to select a particular SASL mechanism,
-and the the
+and the
.B \-user
-switch can be used to select a authorization userid
-to provide to SASL other than the default.
+switch can be used to select a authorization userid to provide to SASL
+other than the default. The credentials profile entry in the
+mh\-profile(5) man page describes the ways to supply a username and
+password.
.PP
-If SASL authentication is successful,
+If SASL authentication is successful,
.BR nmh
will attempt to negotiate a security layer for session encryption.
Encrypted data is labelled with `(encrypted)' and `(decrypted)' when
has been compiled with TLS support, the
.B \-tls
and
-.B \-notls
-switches will require and disable the negotiation of TLS support when connecting to the
-SMTP MTA. Encrypted data is labelled with `(tls-encrypted)' 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 transction with the
.B \-snoop
switch.
+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
The files specified by the profile entry \*(lqAliasfile:\*(rq and any
additional alias files given by the
.BR \-alias ,
can be named).
See
-.BR mh\-alias (5)
+.IR mh\-alias (5)
for more information.
-
.SH FILES
.fc ^ ~
.nf
.ta \w'%etcdir%/ExtraBigFileName 'u
^$HOME/\&.mh\(ruprofile~^The user profile
.fi
-
.SH "PROFILE COMPONENTS"
.fc ^ ~
.nf
^mailproc:~^Program to post failure notices
^postproc:~^Program to post the message
.fi
-
.SH "SEE ALSO"
-comp(1), dist(1), forw(1), repl(1), mh\-alias(5), post(8)
-
+.IR comp (1),
+.IR dist (1),
+.IR file (1),
+.IR forw (1),
+.IR mhbuild (1),
+.IR mhparam (1),
+.IR repl (1),
+.IR whatnow (1),
+.IR mh\-alias (5),
+.IR mh\-profile (5),
+.IR mh\-tailor (5),
+.IR post (8)
.SH DEFAULTS
.nf
.RB ` file "' defaults to <mh\-dir>/draft"
.RB ` \-forward '
.RB ` \-nomime '
.RB ` \-nomsgid '
+.RB ` "\-messageid\ localname" '
.RB ` \-nopush '
.RB ` \-noverbose '
.RB ` \-nowatch '
.RB ` "\-width\ 72" '
-.RB ` "\-attach\ Nmh-Attachment" '
-.RB ` "\-attachformat\ 1" '
.fi
-
.SH CONTEXT
None
-
.SH BUGS
Under some configurations, it is not possible to monitor the mail delivery
transaction;