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.