.\"
.\" %nmhwarning%
.\"
-.TH SEND %manext1% "November 25, 2014" "%nmhversion%"
+.TH SEND %manext1% "August 14, 2016" "%nmhversion%"
.SH NAME
send \- send a message
.SH SYNOPSIS
.RB [ \-msgid " | " \-nomsgid ]
.RB [ \-messageid
.IR localname " | " random ]
-.RB [ \-oauth
-.IR service ]
.RB [ \-push " | " \-nopush ]
.RB [ \-split
.IR seconds ]
.IR port-name/number ]
.RB [ \-sasl ]
.RB [ \-nosasl ]
-.RB [ \-saslmaxssf
-.IR ssf ]
.RB [ \-saslmech
.IR mechanism ]
+.RB [ \-authservice
+.IR service ]
.RB [ \-snoop ]
.RB [ \-user
.IR username ]
switch can be used to view the SMTP transaction. (Beware that the
SMTP transaction may contain authentication information either in
plaintext or easily decoded base64.) If
-.B \-oauth
+.B \-saslmech xoauth2
is used, the HTTP transaction is also shown.
.PP
If
Encrypted data is labelled with `(encrypted)' and `(decrypted)' when
viewing the SMTP transaction with the
.B \-snoop
-switch. The
-.B \-saslmaxssf
-switch can be used to select the maximum value of the Security Strength Factor.
-This is an integer value and the exact meaning of this value depends on the
-underlying SASL mechanism. A value of 0 disables encryption.
+switch; see the
+.B post
+man page description of
+.B \-snoop
+for its other features.
.PP
If
.B nmh
has been compiled with OAuth support, the
-.B \-oauth
-switch will enable OAuth authentication. The
+.B \-sasl
+and
+.B \-saslmech xoauth2
+switches will enable OAuth authentication. The
.B \-user
switch must be used, and the
.I user-name
-must be an email address the user has for that service. Before using this,
-the user must authorize nmh by running
-.B mhlogin
-and grant authorization to that account. Only
-.B -oauth
-.I gmail
-is supported. See the
+must be an email address the user has for the service, which must
+be specified with the
+.B \-authservice
+.I service
+switch. Before using this, the user must authorize nmh by running
.B mhlogin
+and grant authorization to that account. See the
+.IR mhlogin (1)
man page for more details.
.PP
If
is labelled with `(tls-encrypted)' and
`(tls-decrypted)' when viewing the SMTP transction with the
.B \-snoop
-switch.
+switch; see the
+.B post
+man page description of
+.B \-snoop
+for its other features.
The
.B \-notls
switch will disable all attempts to negotiate TLS.
See
.IR mh\-alias (5)
for more information.
+.SS Selection based on sender address: sendfrom
+One or more
+.I sendfrom
+profile components can be used to select a mail server address, mail server
+port, or any other switch that can be supplied to
+.BR post .
+It works by first looking at the sender address and domain name in the
+message draft, as described below.
+It then looks for a corresponding profile entry, which contains the
+.B post
+switches.
+To enable, add profile entries of the form:
+.PP
+.RS 5
+.RI sendfrom- "address/domain name" : " post switches"
+.RE
+.PP
+The email address is extracted from the Envelope-From: header, if not blank,
+the Sender: header, or the From: header line in the message draft.
+Multiple profile entries, with different email addresses or domain names, are
+supported.
+This allows different switches to
+.BR post ,
+such as -user, to be associated with different email addresses.
+If a domain name is used, it matches all users in that domain.
+.PP
+Here is an example profile entry using OAuth for an account hosted by gmail:
+.PP
+.nf
+.RS 5
+sendfrom-gmail_address@example.com: -saslmech xoauth2
+.RS 5
+-authservice gmail -tls -server smtp.gmail.com
+-user gmail_login@example.com
+.RE
+.RE
+.fi
+.PP
+(Indentation indicates a continued line, as supported in MH profiles.)
+The username need not be the same as the sender address, which was extracted
+from the appropriate header line as noted above.
+.PP
+Here are example profile entries that use an nmh credentials file:
+.PP
+.nf
+.RS 5
+credentials: file:nmhcreds
+sendfrom-sendgrid_address@example.com: -sasl -tls
+.RS 5
+-server smtp.sendgrid.net
+.RE
+sendfrom-outbound.att.net: -sasl -initialtls
+.RS 5
+-server outbound.att.net -port 465
+.RE
+sendfrom-fastmail.com: -initialtls -sasl -saslmech LOGIN
+.RS 5
+-server smtps-proxy.messagingengine.com -port 80
+.RE
+.RE
+.fi
+.PP
+where nmhcreds is in the user's nmh directory (from the Path profile component)
+and contains:
+.PP
+.nf
+.RS 5
+machine smtp.sendgrid.net
+.RS 5
+login sendgrid_login@example.com
+password ********
+.RE
+machine outbound.att.net
+.RS 5
+login att_login@example.com
+password ********
+.RE
+machine smtps-proxy.messagingengine.com
+.RS 5
+login fastmail_login@example.com
+password ********
+.RE
+.RE
+.fi
+.PP
+For more information on authentication to mail servers, see the
+.IR mhlogin (1)
+man page for OAuth services, and
+.IR mh-profile (5)
+man page for login credentials.
+.PP
.SH FILES
.fc ^ ~
.nf
^Signature:~^To determine the user's mail signature
^mailproc:~^Program to post failure notices
^postproc:~^Program to post the message
+^sendfrom-address:~^Switches to post for sender address
+^sendfrom-domain:~^Switches to post for sender domain name
.fi
.SH "SEE ALSO"
.IR comp (1),