Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sendmail(8) — 386BSD 1.0

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)             386BSD System Manager's Manual             SENDMAIL(8)

NAME
     sendmail - send mail over the internet

SYNOPSIS
     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 intended as a user interface routine; other programs
     provide user-friendly 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
     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'.

   Parameters

     -Btype      Set the body type to type. Current legal values 7BIT or
                 8BITMIME.

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

     -Cfile      Use alternate configuration file.  Sendmail refuses to run as

                 root if an alternate configuration file is specified.

     -dX         Set debugging value to X.

     -Ffullname  Set the full name of the sender.

     -fname      Sets 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 the person you are trying to
                 become is the same as the person you are.

     -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 do aliasing.

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

     -pprotocol  Set the name of the protocol used to receive the message.
                 This can be a simple protocol name such as ``UUCP'' or a
                 protocol and hostname, such as ``UUCP:ucbvax''.

     -q[time]    Processed saved messages in the queue at given 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 timeout to
                 one hour thirty minutes.  If time is specified, sendmail will
                 run in background.  This option can be used safely with -bd.

     -rname      An alternate and 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.

     -X logfile  Log all traffic in and out of mailers in the indicated log
                 file.  This should only be used as a last resort for
                 debugging mailer bugs.  It will log a lot of data very
                 quickly.

   Options
     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 -o flag or in the configuration
     file.  This is a partial list; for a complete list (and details), consult
     the Sendmail Installation and Operation Guide. The options are:

     Afile       Use alternate alias file.

     bnblocks    The minimum number of free blocks needed on the spool
                 filesystem.

     c           On mailers that are considered ``expensive'' to connect to,
                 don't initiate immediate connection.  This requires queueing.



     C N         Checkpoint the queue file after every N successful deliveries
                 (default 10).  This avoids excessive duplicate deliveries
                 when sending to long mailing lists interrupted by system
                 crashes.

     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 - i.e.,
                 actual delivery is done 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 to this machine, a copy of the message is
                 appended to the file dead.letter in the sender's home
                 directory.

     f           Save UNIX-style From lines at the front of messages.

     G           Match local mail names against the GECOS portion of the
                 password file.

     g N         The default group id to use when calling mailers.

     Hfile       The SMTP help file.

     h N         The maximum number of times a message is allowed to ``hop''
                 before we decide it is in a loop.

     i           Do not take dots on a line by themselves as a message
                 terminator.

     j           Send error messages in MIME format.

     Ktimeout    Set connection cache timeout.

     kN          Set connection cache size.

     Ln          The log level.

     l           Pay attention to the Errors-To: header.

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

     n           Validate the right hand side of aliases during a
                 newaliases(1) command.

     o           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 format in most cases.

     Qqueuedir   Select the directory in which to queue messages.

     Sfile       Save statistics in the named file.

     s           Always instantiate 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 (e.g., 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.

     Uuserdatabase
                 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
                 USERDB option compiled in.

     uN          Set the default user id for mailers.

     Y           Fork each job during queue runs.  May be convenient on
                 memory-poor machines.

     7           Strip incoming messages to seven bits.

     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 sendmail from suppressing
     the blanks from between arguments.  For example, a common alias is:

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

     Aliases may also have the syntax ``:include:filename'' 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 /usr/local/lib/poets.list for the list of addresses making up
     the group.

     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       User name 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.

FILES
     Except for the file /etc/sendmail.cf itself, the following pathnames are
     all specified in /etc/sendmail.cf. Thus, these values are only
     approximations.

     /etc/aliases          raw data for alias names


     /etc/aliases.db       data base of alias names
     /etc/sendmail.cf      configuration file
     /etc/sendmail.hf      help file
     /var/log/sendmail.st  collected statistics
     /var/spool/mqueue/*   temp files
     /var/run/sendmail.pid
                           The process id of the daemon

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

     DARPA Internet Request For Comments RFC819, RFC821, RFC822.

     Sendmail - An Internetwork Mail Router, No. 9, SMM.

     Sendmail Installation and Operation Guide, No. 8, SMM.

HISTORY
     The sendmail command appeared in 4.2BSD.

4th Berkeley Distribution      December 11, 1993                             5













































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