SENDMAIL(8)              UNIX System Manager's Manual              SENDMAIL(8)

NNAAMMEE
     sseennddmmaaiill - send mail over the internet

SSYYNNOOPPSSIISS
     sseennddmmaaiill [_f_l_a_g_s] [_a_d_d_r_e_s_s ...]
     nneewwaalliiaasseess
     mmaaiillqq [--vv]
     ssmmttppdd
     bbssmmttpp
     rruunnqq

DDEESSCCRRIIPPTTIIOONN
     SSeennddmmaaiill sends a message to one or more _r_e_c_i_p_i_e_n_t_s, routing the message
     over whatever networks are necessary.  SSeennddmmaaiill does internetwork for-
     warding as necessary to deliver the message to the correct place.

     SSeennddmmaaiill is not intended as a user interface routine; other programs pro-
     vide user-friendly front ends; sseennddmmaaiill is used only to deliver pre-
     formatted messages.

     With no flags, sseennddmmaaiill reads its standard input up to an end-of-file or
     a line consisting only of a single dot and sends a copy of the message
     found there to all of the addresses listed.  It determines the network(s)
     to use based on the syntax and contents of the addresses.

     Local addresses are looked up in a file and aliased appropriately.
     Aliasing can be prevented by preceding the address with a backslash.
     Normally the sender is not included in any alias expansions, e.g., if
     `john' sends to `group', and `group' includes `john' in the expansion,
     then the letter will not be delivered to `john'.

     Flags are: Go into mode.  All input lines must end with a CR-LF, and all
     messages will be generated with a CR-LF at the end.  Also, the ``From:''
     and ``Sender:'' fields are examined for the name of the sender.  Run as a
     daemon.  This requires Berkeley SSeennddmmaaiill will fork and run in background
     listening on socket 25 for incoming connections.  This is normally run
     from /_e_t_c/_r_c.  Initialize the alias database.  Deliver mail in the usual
     way (default).  Print a listing of the queue.  Use the protocol as
     described in on standard input and output.  This flag implies all the
     operations of the --bbaa flag that are compatible with Read batched SMTP
     (BSMTP) commands from standard input.  Run in address test mode.  This
     mode reads addresses and shows the steps in parsing; it is used for de-
     bugging configuration tables.  Verify names only - do not try to collect
     or deliver a message.  Verify mode is normally used for validating users
     or mailing lists.  Create the configuration freeze file.  Use alternate
     configuration file.  SSeennddmmaaiill refuses to run as root if an alternate con-
     figuration file is specified.  The frozen configuration file is bypassed.
     Set debugging value to _X.  Set the full name of the sender.  Sets the
     name of the ``from'' person (i.e., the sender of the mail).  --ff can only
     be used by ``trusted'' users (normally _r_o_o_t, _d_a_e_m_o_n, and _n_e_t_w_o_r_k) or if
     the person you are trying to become is the same as the person you are.
     Set the hop count to _N.  The hop count is incremented every time the mail
     is processed.  When it reaches a limit, the mail is returned with an er-
     ror message, the victim of an aliasing loop.  If not specified, ``Re-
     ceived:'' lines in the message are counted.  Don't do aliasing.  Set op-
     tion _x to the specified _v_a_l_u_e.  Options are described below.  Processed
     saved messages in the queue at given intervals.  If _t_i_m_e is omitted, pro-
     cess the queue once.  Time is given as a tagged number, with `s' being
     seconds, `m' being minutes, `h' being hours, `d' being days, and `w'
     being weeks.  For example, `-q1h30m' or `-q90m' would both set the
     timeout to one hour thirty minutes.  If _t_i_m_e is specified, sseennddmmaaiill will
     run in background.  This option can be used safely with --bbdd.  Process the
     queued message with the queue id _i_d_e_n_t.  Process the queued messages that
     have the string _a_d_d_r in one of the recipient addresses.  Process the
     queued messages that have the string _a_d_d_r in the sender address.  An al-
     ternate and obsolete form of the --ff flag.  Read message for recipients.
     To:, Cc:, and Bcc: lines will be scanned for recipient addresses.  The
     Bcc: line will be deleted before transmission.  Any addresses in the ar-
     gument list will be suppressed, that is, they will _n_o_t receive copies
     even if listed in the message header.  Go into verbose mode.  Alias ex-
     pansions will be announced, etc.

     There are also a number of processing options that may be set.  Normally
     these will only be used by a system administrator.  Options may be set
     either on the command line using the --oo flag or in the configuration
     file.  These are described in detail in the The options are: Use alter-
     nate alias file.  On mailers that are considered ``expensive'' to connect
     to, don't initiate immediate connection.  This requires queueing.  Set
     the delivery mode to _x.  Delivery modes are `i' for interactive
     (synchronous) delivery, `b' for background (asynchronous) delivery, and
     `q' for queue only - i.e., actual delivery is done the next time the
     queue is run.  Try to automatically rebuild the alias database if
     necessary.  Set error processing to mode _x.  Valid modes are `m' to mail
     back the error message, `w' to ``write'' back the error message (or mail
     it back if the sender is not logged in), `p' to print the errors on the
     terminal (default), `q' to throw away error messages (only exit status is
     returned), and `e' to do special processing for the BerkNet.  If the text
     of the message is not mailed back by modes `m' or `w' and if the sender
     is local to this machine, a copy of the message is appended to the file
     _d_e_a_d._l_e_t_t_e_r in the sender's home directory.  The mode to use when creat-
     ing temporary files.  Save From lines at the front of messages.  The de-
     fault group id to use when calling mailers.  The help file.  Do not take
     dots on a line by themselves as a message terminator.  Checkpoint the
     queue file after every _N successful deliveries (default 10).  This avoids
     excessive duplicate deliveries when sending to long mailing lists inter-
     rupted by system crashes.  The log level.  Send to ``me'' (the sender)
     also if I am in an alias expansion.  If set, this message may have old
     style headers.  If not set, this message is guaranteed to have new style
     headers (i.e., commas instead of spaces between addresses).  If set, an
     adaptive algorithm is used that will correctly determine the header for-
     mat in most cases.  Select the directory in which to queue messages.  The
     timeout on reads; if none is set, sseennddmmaaiill will wait forever for a
     mailer.  This option violates the word (if not the intent) of the specif-
     ication, show the timeout should probably be fairly large.  Save statis-
     tics in the named file.  Always instantiate the queue file, even under
     circumstances where it is not strictly necessary.  This provides safety
     against system crashes during delivery.  Set the timeout on undelivered
     messages in the queue to the specified time.  After delivery has failed
     (e.g., because of a host being down) for this amount of time, failed mes-
     sages will be returned to the sender.  The default is three days.  Set
     the name of the time zone.  If set, a user database is consulted to get
     forwarding information.  You can consider this an adjunct to the aliasing
     mechanism, except that the database is intended to be distributed;
     aliases are local to a particular host.  This may not be available if
     your sendmail does not have the option compiled in.  Set the default user
     id for mailers.  If not set, name server lookups will us a querytype of
     ANY to find types and and will cause all existing records to be cached by
     our local server.  If there is (might be) a wildcard MX in the local
     domain or its parents that are searched, you _m_u_s_t set this option, which
     will use a querytype of only; otherwise, it would cause all fully-
     qualified names to match as names in the local domain.

     In aliases, the first character of a name may be a vertical bar to cause
     interpretation of the rest of the name as a command to pipe the mail to.
     It may be necessary to quote the name to keep sseennddmmaaiill from suppressing
     the blanks from between arguments.  For example, a common alias is:

     msgs: "|/usr/bin/msgs -s"

     Aliases may also have the syntax ``_f_i_l_e_n_a_m_e'' to ask sendmail to read the
     named file for a list of recipients.  For example, an alias such as:
     poets: ":include:/usr/local/lib/poets.list"

     would read /_u_s_r/_l_o_c_a_l/_l_i_b/_p_o_e_t_s._l_i_s_t for the list of addresses making up
     the group.

     SSeennddmmaaiill returns an exit status describing what it did.  The codes are
     defined in <_s_y_s_e_x_i_t_s._h>: Successful completion on all addresses.  User
     name not recognized.  Catchall meaning necessary resources were not
     available.  Syntax error in address.  Internal software error, including
     bad arguments.  Temporary operating system error, such as ``cannot
     fork''.  Host name not recognized.  Message could not be sent
     immediately, but was queued.

     If invoked as nneewwaalliiaasseess, sseennddmmaaiill will rebuild the alias database.  If
     invoked as mmaaiillqq, sseennddmmaaiill will print the contents of the mail queue.  If
     invoked as ssmmttppdd, sseennddmmaaiill will fork and run as a daemon.  If invoked as
     bbssmmttpp, sseennddmmaaiill will process batched SMTP on standard input.  If invoked
     as rruunnqq, sseennddmmaaiill will run through the mail queue and make what
     deliveries are possible.

FFIILLEESS
     Except for the file /_e_t_c/_s_e_n_d_m_a_i_l._c_f itself, the following pathnames are
     all specified in /_e_t_c/_s_e_n_d_m_a_i_l._c_f.  Thus, these values are only approxi-
     mations.

     raw data for alias names data base of alias names configuration file
     frozen configuration help file collected statistics temp files

SSEEEE AALLSSOO
     binmail(1), mail(1), rmail(1), syslog(3), aliases(5), mailaddr(7), rc(8);

     DARPA Internet Request For Comments

HHIISSTTOORRYY
     The sseennddmmaaiill command appeared in
