Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

binmail(1)

mail(1)

rmail(1)

syslog(3)

aliases(5)

mailaddr(7)

rc(8)

SENDMAIL(8)                          BSD                           SENDMAIL(8)



NAME
     sendmail - send mail over the internet

SYNOPSIS
     /usr/lib/sendmail [ flags ] [ address ... ]

     newaliases

     mailq [ -v ]

DESCRIPTION
     sendmail sends a message to one or more recipients, routing the message
     over whatever networks are necessary.  sendmail does internetwork
     forwarding as necessary to deliver the message to the correct place.

     sendmail is not a user interface routine; other programs provide simpler
     front ends. sendmail is used only to deliver pre-formatted messages.

     With no flags, sendmail reads its standard input up to an end-of-file, or
     to a line consisting 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.  For
     example, if "john" sends to "group" and "group" includes "john" in the
     expansion, then the letter will not be delivered to "john".

     In aliases, the first character of a name may be a vertical bar, to cause
     sendmail to interpret the rest of the name as a command to pipe the mail
     to. It may be necessary to quote the name to keep sendmail from
     suppressing the blanks between arguments.  Aliases may also have the
     syntax ":include: filename " to ask sendmail to read the named file for a
     list of recipients (see EXAMPLES, below).

FLAGS
     -ba       Go into ARPANET 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.

     -bd       Run as a daemon.  This requires Berkeley IPC.  sendmail will
               fork and run in background, listening on socket 25 for incoming
               SMTP connections. This is normally run from /etc/rc.

     -bi       Initialize the alias database.

     -bm       Deliver mail in the usual way (default).

     -bp       Print a listing of the queue.

     -bs       Use the SMTP protocol as described in RFC821 on standard input
               and output.  This flag implies all the operations of the -ba
               flag that are compatible with SMTP.

     -bt       Run in address test mode.  This mode reads addresses and shows
               the steps in parsing; it is used for debugging configuration
               tables.

     -bv       Verify names only - do not try to collect or deliver a message.
               Verify mode is normally used for validating users or mailing
               lists.

     -bz       Create the configuration freeze file.

     -Cfile    Use alternate configuration file.  sendmail refuses to run as
               root if an alternate configuration is specified. The frozen
               configuration file is bypassed.

     -dX       Set debugging value to X.

     -Ffullname
               Set the full name of the sender.

     -fname    Set the name of the "from" person (i.e., the sender of the
               mail).  -f can only be used by "trusted" users (normally root,
               daemon, and network), or if name is the same as your log-in
               name.

     -hN       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 error message, the victim of an aliasing loop.
               If not specified, "Received:" lines in the message are counted.

     -n        Don't perform aliasing.

     -oxvalue  Set option x to the specified value. Options are described
               below.

     -q[time]  Processed saved messages in the queue at time intervals.  If
               time is omitted, process 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 interval between
               processing passes to one hour thirty minutes.  If time is
               specified, sendmail will run in background.  The option can be
               used safely with -bd.

     -rname    An alternate (obsolete) form of the -f flag.

     -t        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 argument list will
               be suppressed; that is, they will not receive copies even if
               listed in the message header.

     -v        Go into verbose mode.  Alias expansions will be announced, etc.

OPTIONS
     A number of processing options may be set.  Normally, a system
     administrator will set these.  Options may be invoked either on the
     command line using the -o flag or in the configuration file.  The options
     are:

     Afile     Use an alternate alias file.

     c         Queue messages, rather than connecting immediately to mailers
               that are considered "expensive".

     dx        Set the delivery mode to x. Delivery modes are "i" for
               interactive (synchronous) delivery, "b" for background
               (asynchronous) delivery, and "q" for queue only - that is,
               actual delivery is made the next time the queue is run.

     D         Try to automatically rebuild the alias database, if necessary.

     ex        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
               (this machine), a copy of the message is appended to the file
               "dead.letter" in the sender's home directory.

     Fmode     Cause sendmail to use this mode when creating temporary files.
               (See chmod(1)).

     f         Save UNIX From lines at the front of messages.

     gN        Use N as the default group ID when calling mailers.

     Hfile     Call the SMTP help file.

     i         Ignore a dot on a line by itself as a message terminator.

     Ln        Set the log level.

     m         Send to "me" (the sender) also, if I am in an alias expansion.

     o         Use old-style headers, if possible.  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 format in most
               cases.

     Qqueuedir Select the directory in which to queue messages.

     rtimeout  Set the timeout on reads.  If none is set, sendmail will wait
               indefinitely for a mailer.  This option violates the word (if
               not the intent) of the SMTP specification; show the timeout
               should probably be fairly large.

     Sfile     Save statistics in the named file.

     s         Restart the queue file, even under circumstances where it is
               not strictly necessary. This provides safety against system
               crashes during delivery.

     Ttime     Set the timeout on undelivered messages in the queue to the
               specified time.  After delivery has failed (for example,
               because of a host being down) for this amount of time, failed
               messages will be returned to the sender. The default is three
               days.

     tstz,dtz  Set the name of the time zone.  Stz is standard time zone; dtz
               is daylight time zone.

     uN        Set the default user ID for mailers to N.

     sendmail returns an exit status describing what it did.  The codes are
     defined in <sysexits.h>

        EX_OK            Successful completion on all addresses.
        EX_NOUSER        Username not recognized.
        EX_UNAVAILABLE   Catchall meaning necessary resources were not
                         available.
        EX_SYNTAX        Syntax error in address.
        EX_SOFTWARE      Internal software error, including bad arguments.
        EX_OSERR         Temporary operating system error, such as "cannot
                         fork".
        EX_NOHOST        Host name not recognized.
        EX_TEMPFAIL      Message could not be sent immediately, but was
                         queued.

     If invoked as newaliases, sendmail will rebuild the alias database.  If
     invoked as mailq, sendmail will print the contents of the mail queue.

EXAMPLES
     The following alias pipes sendmail to the msgs(1) command:

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

     An alias such as:

             poets: ":include:/usr/local/lib/poets.list"

     would read /usr/local/lib/poets.list for the list of addresses making up
     the group.

NOTES
     If you are running sendmail as a daemon in BSD, you must run newaliases
     on the same node that is running the sendmail daemon.  Once newaliases
     has completed, you must kill and restart the sendmail daemon for the
     changes to take effect.

FILES
     Except for /usr/lib/sendmail.cf, these pathnames are all specified in
     /usr/lib/sendmail.cf.  Thus, these values are only approximations.

     /usr/lib/aliases              raw data for alias names, in text
     /usr/lib/aliases.pag          database of alias names used by sendmail
     /usr/lib/aliases.dir          database of alias names used by sendmail
     /usr/lib/sendmail.cf          configuration file
     /usr/lib/uucpproto.cf         example uucp configuration file
     /usr/lib/arpaproto.cf         example ARPANET configuration file
     /usr/lib/sendmail.st          collected statistics
     /usr/bin/uux                  to deliver uucp mail
     /usr/spool/mqueue/*           temp files
     /usr/lib/sendmail.hf          help files
     /usr/lib/sendmail.fc          frozen configuration

SEE ALSO
     binmail(1), mail(1), rmail(1) syslog(3), aliases(5), mailaddr(7), rc(8);
     Managing BSD System Software;
     DARPA Internet Request For Comments RFC819, RFC821, RFC822;
     Using Your BSD Environment.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026