Provided by: nmh_1.5-release-5_amd64 bug

NAME

       send - send a message

SYNOPSIS

       send [-alias aliasfile] [-draft] [-draftfolder +folder] [-draftmessage msg]
            [-nodraftfolder] [-filter filterfile] [-nofilter] [-format | -noformat] [-forward |
            -noforward] [-mime | -nomime] [-msgid | -nomsgid] [-push | -nopush] [-split seconds]
            [-verbose | -noverbose] [-watch | -nowatch] [-server servername] [-port port-
            name/number] [-sasl] [-nosasl] [-saslmaxssf ssf] [-saslmech mechanism] [-snoop]
            [-user username] [-tls] [-notls] [-width columns] [file ...]  [-version] [-help]
            [-attach header-field-name] [-noattach] [-attachformat 0 | 1 | 2]

DESCRIPTION

       Send will cause each of the specified files to be delivered to each of the destinations in
       the “To:”, “cc:”,  “Bcc:”,  “Dcc:”,  and  “Fcc:”  fields  of  the  message.   If  send  is
       re-distributing  a  message,  as  invoked  from  dist, then the corresponding “Resent-xxx”
       fields are examined instead.

       By default, send uses the program post to do the actual delivery of the messages, although
       this  can  be  changed  by  defining the postproc profile component.  Most of the features
       attributed to send are actually performed by post.

       By default the draft is scanned for a header named Nmh-Attachment.  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 -attach option.  This  behavior
       can be disabled completely with the -noattach option.

       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  header-field-name  is
       interpreted as a file name, and each file named is included as a separate part in the MIME
       message.

       For file names with dot suffixes, the profile is scanned for a  mhshow-suffix-  entry  for
       that suffix.  The content-type for the part is taken from that profile entry if a match is
       found.  If a match is not found in the user profile, the mhn.defaults profile  is  scanned
       next.   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 mhshow(1) for more details and
       example syntax.

       Each part contains a name attribute that is the last component of the  path  name.   A  x-
       unix-mode   attribute  containing  the  file  mode  accompanies  each  part.   Finally,  a
       description attribute is generated by running the file command on the file.

       The -attachformat option specifies the MIME header field formats:  a value of  0  includes
       the  x-unix-mode  attribute  as  noted above.  A value of 1, the default, suppresses that,
       puts the file name in the “Content-Description” header, and adds  a  “Content-Disposition”
       header.   A  value  of  2  adds  the  file  modification-date  parameter  to the “Content-
       Disposition” header.  You can specify one value in  your  profile,  and  override  it  for
       individual messages at the whatnow prompt.

       Here  are  example  message part headers, for an attachment, for each of the -attachformat
       values:

       -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"

       If -push is specified, send will detach itself from the user's terminal  and  perform  its
       actions  in  the background.  If push'd and the draft can't be sent, then an error message
       will be sent (using the mailproc) back to the user.  If -forward is given, then a copy  of
       the  draft will be attached to this failure notice.  Using -push differs from putting send
       in the background because the output is trapped and analyzed by nmh.

       If -verbose is specified, send will indicate the interactions occurring with the transport
       system,  prior  to actual delivery.  If -watch is specified send will monitor the delivery
       of local and network mail.   Hence,  by  specifying  both  switches,  a  large  detail  of
       information  can  be  gathered  about  each step of the message's entry into the transport
       system.

       The -draftfolder +folder and -draftmessage  msg  switches  invoke  the  nmh  draft  folder
       facility.   This  is an advanced (and highly useful) feature.  Consult the mh-draft(5) man
       page for more information.

       If -split is specified, send will split the draft into one or more partial messages  prior
       to  sending.   This  makes  use of the MIME features in nmh.  Note however that if send is
       invoked under dist, then this switch is ignored -- it makes no  sense  to  redistribute  a
       message  in  this  fashion.   Sometimes  you  want  send  to pause after posting a partial
       message.  This is usually the case when you are running sendmail and expect to generate  a
       lot  of  partial  messages.   The  argument  to  -split tells it how long to pause between
       postings.

       Send with no file argument will query whether the draft  is  the  intended  file,  whereas
       -draft  will  suppress this question.  Once the transport system has successfully accepted
       custody of the message, the file will be renamed with a site-dependent prefix  (usually  a
       comma),  which  allows  it to be retrieved until the next draft message is sent.  If there
       are errors in the formatting of the message, send will abort with  a  (hopefully)  helpful
       error message.

       If  a “Bcc:” field is encountered, its addresses will be used for delivery, 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 a “Dcc:” field is encountered, its addresses will be used for delivery, and the  “Dcc:”
       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  “Dcc:”  field
       receive  no  explicit  indication  that they have received a “blind copy”.  This can cause
       blind recipients to inadvertently reply to all of the sighted recipients of  the  original
       message,  revealing  that  they  received a blind copy.  On the other hand, since a normal
       reply to a message sent via a “Bcc:” field will generate a reply only to the sender of the
       original  message, it takes extra effort in most mailers to reply to the included message,
       and so would usually only be done deliberately, rather than by accident.

       If -filter filterfile is specified, then this copy is filtered (re-formatted) by mhl prior
       to being sent to the blind recipients.  Alternately, if you specify the -mime switch, then
       send will use the MIME rules for encapsulation.

       Prior to sending the message, the “Date: now” field will be appended to the headers in the
       message.   If  -msgid  is  specified, then a “Message-ID:” field will also be added to the
       message.

       If send is re-distributing a message (when  invoked  by  dist),  then  “Resent-”  will  be
       prepended to each of these fields: “From:”, “Date:”, and “Message-ID:”.

       A  “From:”  field is required for all outgoing messages.  Multiple addresses are permitted
       in the “From:” field, but a “Sender:”  field  is  required  in  this  case.   Otherwise  a
       “Sender:” field is optional.

       If  a  message with multiple “From:” addresses does NOT include a “Sender:” field but does
       include an “Envelope-From:” field, the “Envelope-From:” field will be used to construct  a
       “Sender:” field.

       When  using  SMTP  for mail submission, the envelope-from used for the SMTP transaction is
       derived from the “Envelope-From:” field.  If no “Envelope-From:”  field  is  present,  the
       “Sender:”  field  is  used.   If  neither  the “Envelope-From:” nor the “Sender:” field is
       present, the “From:” field is used.  When “Envelope-From:” appears in a message it will be
       removed from the final outgoing message.

       By  using  the  -format  switch, each of the entries in the “To:” and “cc:” fields will be
       replaced with “standard” format entries.  This standard format is designed to be usable by
       all  of  the message handlers on the various systems around the Internet.  If -noformat is
       given, then headers are output exactly as they appear in the message draft.

       If an “Fcc: folder” is encountered, the message will be copied to the specified folder for
       the  sender in the format in which it will appear to any non-Bcc receivers of the message.
       That is, it will have the appended fields and field reformatting.  The “Fcc:” fields  will
       be removed from all outgoing copies of the message.

       By using the -width columns switch, the user can direct send as to how long it should make
       header lines containing addresses.

       If nmh is using the SMTP MTA, the -server and the -port switches can be used  to  override
       the  default  mail  server  (defined  by the /etc/nmh/mts.conf servers entry).  The -snoop
       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 nmh has been compiled with SASL support, the -sasl and -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 “.netrc” file
       can be used to store this password).  -saslmech switch can be used to select a  particular
       SASL  mechanism,  and the the -user switch can be used to select a authorization userid to
       provide to SASL other than the default.

       If SASL authentication is successful, nmh will attempt to negotiate a security  layer  for
       session  encryption.  Encrypted data is labelled with `(encrypted)' and `(decrypted)' when
       viewing the SMTP transaction with the -snoop switch.  The -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.

       If  nmh  has been compiled with TLS support, the -tls and -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  `(tls-decrypted)' when viewing the SMTP transction
       with the -snoop switch.

       The files specified by the profile entry “Aliasfile:” and any additional alias files given
       by  the -alias aliasfile switch will be read (more than one file, each preceded by -alias,
       can be named).  See mh-alias(5) for more information.

FILES

       $HOME/.mh_profile          The user profile

PROFILE COMPONENTS

       Path:                To determine the user's nmh directory
       Draft-Folder:        To find the default draft-folder
       Aliasfile:           For a default alias file
       Signature:           To determine the user's mail signature
       mailproc:            Program to post failure notices
       postproc:            Program to post the message

SEE ALSO

       comp(1), dist(1), forw(1), repl(1), mh-alias(5), post(8)

DEFAULTS

       `file' defaults to <mh-dir>/draft
       `-alias' defaults to /etc/nmh/MailAliases
       `-nodraftfolder'
       `-nofilter'
       `-format'
       `-forward'
       `-nomime'
       `-nomsgid'
       `-nopush'
       `-noverbose'
       `-nowatch'
       `-width 72'
       `-attach Nmh-Attachment'
       `-attachformat 1'

CONTEXT

       None

BUGS

       Under some configurations, it is not possible to monitor the  mail  delivery  transaction;
       -watch is a no-op on those systems.

       Using -split 0 doesn't work correctly.