SENDMAIL(8)SENDMAIL(8)NAME
sendmail - send mail over the internet
SYNOPSIS
/usr/lib/sendmail [ flags ] [ address ... ]
newaliases
mailq [ -v ]
DESCRIPTION
The sendmail utility sends a message to one or more recipients, routing
the message over whatever networks are necessary. It also does
internetwork forwarding as necessary to deliver the message to the
correct place.
The sendmail utility is not intended as a user interface routine; other
programs provide user-friendly front ends; sendmail is used only to
deliver pre-formatted messages.
If given 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.''
Sendmail needs a configuration file which tells it how to rewrite
addresses and where to deliver messages. The default configuration
file is located in /etc/sendmail/sendmail.cf, but can be overridden by
setting the sendmail.cf property of the /locations/sendmail directory
in NetInfo to a different file name.
Flags are:
-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. The sendmail
daemon 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. The sendmail utility
refuses to run as root if an alternate configuration file
is specified.
-dX.Y Set the debugging flag X to level Y.
-Ffullname Set the full name of the sender.
-fname Sets the name of the ``from'' person (i.e., the sender of
the mail). The -f flag 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.
-Mmessageid Used together with the -q flag to only process messages
with the specified ID.
-n Don't do aliasing.
-oxvalue Set option x to the specified value. Options are described
below.
-q[time] Process 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.
-Rrecipient Used in combination with the -q flag to only process
messages destined to the specified recipient.
-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.
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. These are described in detail in the Sendmail
Installation and Operation Guide. The options are:
Afile Use alternate alias file.
aminutes Maximum time to wait for aliases database to be rebuilt.
Bchar Character to use instead of spaces (blanks) in addresses.
c On mailers that are considered ``expensive'' to connect to,
don't initiate immediate connection. This requires
queueing.
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 rebuild the alias database automatically 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.
Fmode The mode to use when creating temporary files.
f Save UNIX-style From lines at the front of messages.
gN The default group id to use when calling mailers.
Hfile The SMTP help file.
i Do not take dots on a line by themselves as a message
terminator.
kN Checkpoint the queue files after every N deliveries. A
gross hack to avoid sending duplicate messages if sendmail
crashes when delivering a message to a very large list of
recipients.
Ln The log level.
Mxvalue Set the macro x to the specified value.
m Send to ``me'' (the sender) also if I am in an alias
expansion.
n Check that all aliases are deliverable when rebuilding the
alias database.
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.
pN Be sure that no more than N processes are running on the
local system before accepting a connection from the
Internet. Deferred connections are serviced as soon as the
process count falls to an acceptable level. This option
provides a way to avoid thrashing if the mail server is
subject to bursts of high load. It is useful only when
running in daemon mode. Paddress Send a copy of the
headers of each message that sendmail returns to the
specified address (typically ``Postmaster'').
Qqueuedir Select the directory in which to queue messages.
rtimeout The timeout on reads; if none is set, sendmail will wait
forever for a mailer. This option violates the word (if
not the intent) of the SMTP specification, so the timeout
should probably be fairly large.
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.
uN Set the default user id for mailers.
v Run in verbose mode.
xN Start to automatically queue all messages when machine's
the load average exceeds the specified number.
XN Start to automatically reject any new SMTP connections when
the machine's load average exceeds the specified number.
yN Recipient priority factor. Each message's priority is
increased with N points for each of its recipients.
Yaliasmap Sets an alternate name for the NIS alias map.
zN Class priority factor. Each message's priority is
increased with N times its class value points.
ZN Time priority factor. Each message's priority is increased
with N points each time it's processed.
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 which to
pipe the mail. 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/ucb/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.
The sendmail utility 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
/etc/sendmail/aliases raw data for alias names
/etc/sendmail/aliases.pag
/etc/sendmail/aliases.dir data base of alias names
/etc/sendmail/sendmail.cf configuration file
/usr/lib/sendmail.hf help file
/usr/lib/sendmail.st collected statistics
/usr/spool/mqueue/* temp files
SEE ALSObinmail(1), mail(1), rmail(1), syslog(3), aliases(5), mailaddr(7),
rc(8);
DARPA Internet Request For Comments RFC819, RFC821, RFC822.
4th Berkeley Distribution May 22, 1986 SENDMAIL(8)