By default, send uses the program post(8) 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.
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 (1), 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 leading 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 `-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 fields ``From: user@local'', and ``Date: now'' will be appended to the headers in the message. If the environment variable $SIGNATURE is set, then its value is used as your personal name when constructing the ``From:'' line of the message. If this environment variable is not set, then send will consult the profile entry ``Signature'' for this information. On hosts where nmh was configured with the UCI option, if $SIGNATURE is not set and the ``Signature'' profile entry is not present, then the file $HOME/.signature is consulted. 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:''. If the message already contains a ``From:'' field, then a ``Sender: user@local'' field will be added as well. (An already existing ``Sender:'' field is an error!)
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.
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. ^$HOME/.mh_profile~^The user profile ^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 comp(1), dist(1), forw(1), repl(1), mh-alias(5), post(8) `file' defaults to <mh-dir>/draft `-alias /etc/nmh/MailAliases' `-nodraftfolder' `-nofilter' `-format' `-forward' `-nomime' `-nomsgid' `-nopush' `-noverbose' `-nowatch' `-width 72' None 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.