sendmail(1M) TCP/IP 5.4R3.00 sendmail(1M)
NAME
sendmail, newaliases, smtp, mailq - Internet mail transport service
SYNOPSIS
sendmail [ flags ] [ address ... ]
newaliases
smtp [ flags ]
mailq
DESCRIPTION
The sendmail program sends a message to one or more recipients,
routing the message over whatever networks are necessary. The
sendmail program does internetwork forwarding, as necessary, to
deliver the message to the correct place.
The sendmail program 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 a ^D or a line
with a single dot and sends a copy of the letter found there to all
of the addresses listed. It determines the network 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 using the -n flag. 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'. To override this feature,
use the -om option. Recursive alias expansion is automatically
suppressed.
When it gets a message, sendmail attempts to reconcile the name of
the addressee for any possible alias, unless aliasing is suppressed.
It first interrogates the local alias database. If it does not find
the alias there, sendmail queries the Network Information Services'
(NIS) mail.aliases map. If the name alias does not exist in
mail.aliases, sendmail attempts to deliver the mail to the named
addressee. If NIS is not installed on the host, or if NIS becomes
unavailable, sendmail checks the local alias database as usual. For
more information about mail.aliases, see Managing ONC/NFS and Its
Facilities on the DG/UX System.
Flags are:
-ba Run in ARPANET mode.
-bd Run as a server (daemon). This is the same as saying smtp
in the command line.
-bi Initialize the alias database. This is the same as using
Licensed material--property of copyright holder(s) 1
sendmail(1M) TCP/IP 5.4R3.00 sendmail(1M)
newaliases on the command line.
-bm Deliver mail in the usual way (default).
-bp Print the contents of the mail queue (same as command
mailq).
-bs Use the SMTP protocol as described in RFC821.
-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 a frozen configuration file.
-Cfile Use alternate configuration file. When given this option,
sendmail runs as the invoking user, not root.
-dX Set debugging value to X. In general, this will cause
sendmail to print more information about what it is doing.
See the sendmail chapter for more information on different
ways to set debugging levels.
-F Use the full name for the sender on the From: line.
-fname Sets the name of the "from" person (that is, the sender of
the mail). -f can be used only by the trusted users, as
defined in the configuration file, typically root, daemon,
and network.
-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, possibly the victim
of an aliasing loop.
-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.
(This option requires superuser privilege.) If time is
omitted, process the queue once. Time is given as a tagged
number and uses the following abbreviations:
s = seconds
m = minutes
h = hours
d = days
w = weeks
For example, "-q1h30m" or "-q90m" both set the time
Licensed material--property of copyright holder(s) 2
sendmail(1M) TCP/IP 5.4R3.00 sendmail(1M)
interval to 1 hour 30 minutes.
-rname Obsolete form of the -f flag.
-t Use the To: and Cc: lines of the message to determine where
the mail should go.
-v Go into verbose mode. Alias expansions will be announced.
-Zfile Use a different frozen configuration file. When given this
option, sendmail runs as the invoking user, not root.
There are also a number of processing options that may be set.
Normally, these will be used only by a system administrator. Options
may be set either on the command line using the -o flag or in the
configuration file. The options are:
Afile Use alternate alias file.
a[N] If set, wait N minutes for an @:@ entry to exist in the
alias database before rebuilding the database. If it does
not appear in N minutes, rebuild the database. If N is not
specified, the wait is 5 minutes.
Bc Substitute the character c for any blank encountered in the
address.
c Queue "expensive" mailers (see the -e flag, below), rather
than initiate an immediate connection.
dx Set the delivery mode to x. Delivery modes are as follows:
i = interactive (synchronous) delivery
b = background (asynchronous) delivery
q = queue only - i.e., actual delivery is done the next
time the queue is run.
D If necessary, try to automatically rebuild the alias
database. If this option is not used, the newaliases
command must be invoked each time the aliases file is
updated.
ex Set error processing to mode x. Valid modes are as
follows:
e = mail errors back and give zero exit status
m = mail back the error message
w = "write" back the error message (or mail it back if the
sender is not logged in)
p = print the errors on the terminal (default)
q = throw away error messages
For w and p modes, the text of the message is also appended
to the file dead.letter in the sender's home directory.
Licensed material--property of copyright holder(s) 3
sendmail(1M) TCP/IP 5.4R3.00 sendmail(1M)
This option works only with interactive delivery by
invoking sendmail with the -v flag. While working with
non-interactive mode, error messages are always mailed to
the sender.
Fmode The file permission mode to use when creating temporary
files.
f Save UNIX-style "From " lines at the front of messages.
gid The default group ID to use when calling mailers.
Hfile Specify the SMTP help file.
I If set, sendmail uses the domain name system (DNS) to
determine where to route mail on the Internet. Unlike the
Berkeley implementation of sendmail, if this option is not
set, sendmail, does not attempt to get MX records. If set
and the DNS is not available, sendmail queues the mail.
Therefore you should never set this option if you are not
using the DNS; mail will never get delivered.
i Do not interpret a dot on a line by itself as a message
terminator.
Kxname
or Kx%map Declare the keyed database x to be associated with the
dbm(3X) file named name. Always specify x as a single
letter. If you follow x with a percent sign (%), specify
the name of a Network Information Services (NIS) map after
the percent sign.
Ln The log level.
Mxvalue Set the macro x to value. Use this option only from the
command line (for example, sendmail -oMDARPA); recall that
in the configuration file, you use Dxval to set macros (for
example, DDARPA).
m Mail to the sender, even if it is in alias expansion.
Nnetname Specify the name of the home network. The argument of an
SMTP HELO command is checked against hostname.netname,
where hostname is requested from the kernel for the current
connection. If the argument to HELO does not match the
name obtained from the kernel, the name obtained from the
kernel is added to Received: lines to assist in message
tracing.
o If this option is set, the message may have old style
headers. If the option is not set, the message is
guaranteed to have new style headers (that is, commas
instead of spaces between addresses). If set, an adaptive
Licensed material--property of copyright holder(s) 4
sendmail(1M) TCP/IP 5.4R3.00 sendmail(1M)
algorithm is used that will correctly determine the header
format in most cases.
Qdirectory
Select the directory in which to queue messages.
Qfactor The sendmail program divides the value of the factor you
specify by the difference between the current load average
and the load average limit to determine the maximum message
priority of messages to be sent immediately. When the
resulting quotient is less than the priority of the
message, the job is queued rather than run immediately.
rtime The timeout on reads; if none is set, sendmail will wait
forever for a mailer. Unlike other implementations of
sendmail, this one associates the read timeout with the
reception of an entire message. A timeout between 1 and 2
hours is recommended.
/ If the split rewriting option is set, sender and recipient
envelope addresses are processed with rulesets 1 and 2
respectively, and sender and recipient header addresses are
processed with rulesets 5 and 6 respectively. (You must
define rulesets 5 and 6.) This is contrary to the default,
when both envelope and header addresses are processed with
rulesets 1 and 2.
Sfile Log mail statistics in the specified file. The statistics
logged are the number of message to and from each mailer
and the number of kilobytes transferred to and from each
mailer. The default value is /etc/sendmail.st. If you use
a non-default statistics file, first create an empty file.
s Always create the queue file, even under circumstances
where it is not strictly necessary.
Ttime Set the timeout on messages in the queue to the specified
time. After sitting in the queue for this amount of time,
they will be returned to the sender. The default is three
days.
uid Set the default user ID for mailers.
v Run in verbose mode.
xN Set the load average above which to queue messages to N,
where N is a real number. The default value for N is 2.0.
The sendmail program will only queue messages to conserve
system resources.
Xn Set the load average above which to refuse incoming
messages to n, where n is a real number. The default value
for n is 3.0. The sendmail program will not accept any
incoming connections until the load average falls below n.
Licensed material--property of copyright holder(s) 5
sendmail(1M) TCP/IP 5.4R3.00 sendmail(1M)
Y If set, sendmail uses a distinct process to deliver each
job that is run from the queue. Use this option if your
system has little memory, since otherwise sendmail uses
considerable memory when processing the queue.
The destination address for sendmail may be a name of a program to
pipe the mail to, rather than a username. Such a destination must be
included in the aliases file and must start with a vertical bar. It
may be necessary to quote the name of the user to keep sendmail from
suppressing the blanks between arguments.
The sendmail program returns an exit status describing what it did.
0 EX_OK Successful completion on all addresses.
64 EX_USAGE Incorrect arguments to command.
65 EX_DATAERR Input data was incorrect.
66 EX_NOINPUT An input file (not a system file)
did not exist or was not readable.
67 EX_NOUSER Username not recognized.
68 EX_NOHOST Hostname not recognized.
69 EX_UNAVAILABLE Necessary resources were not available.
70 EX_SOFTWARE Software error, including bad arguments.
71 EX_OSERR Temporary operating system error;
for example, cannot fork.
72 EX_OSFILE Some system file does not exist.
73 EX_CANTCREAT A user-specified file cannot be created
74 EX_IOERR An error occurred while reading from or
writing to some file.
75 EX_TEMPFAIL Message not sent immediately; is queued.
76 EX_PROTOCOL The remote system returned something
violating the SMTP protocol.
77 EX_NOPERM Invoking user lacked permission for
requested operation.
78 EX_CONFIG Configuration error.
If you invoke it as newaliases, sendmail will rebuild the alias
database. If you invoke it as mailq, sendmail will print the
contents of the mail queue. If invoked as smtp, sendmail starts the
server.
FILES
Some of these pathnames are specified in /etc/sendmail.cf. Thus,
these values are only defaults.
/etc/aliases Text file for alias database
/etc/aliases.dir Compiled alias database - contains
database index
/etc/aliases.pag Compiled alias database - contains
database data
/etc/mailstats.st Repository for mail statistics
Licensed material--property of copyright holder(s) 6
sendmail(1M) TCP/IP 5.4R3.00 sendmail(1M)
/etc/sendmail.cf Configuration file
/etc/sendmail.fc Frozen version of configuration file
/etc/sendmail.hf Help file for sendmail
/etc/sendmail.pid File containing process ID of the smtp
server
/usr/bin/newaliases To initialize aliases
/usr/bin/dbm Program to build dbm files for sendmail
/usr/bin/mailq To print the mail queue
/usr/bin/mailstats Program to print/clear accumulated mail
statistics
/usr/bin/smtp To start sendmail server
/var/spool/mqueue/* Temp files
/usr/bin/mail To deliver local mail
/usr/bin/mailx Interactive message processing system
/etc/mail/mailx.rc Initialization file for mailx(1). Use
"sendmail=/usr/bin/sendmail" to specify
sendmail(1M) as the delivery agent
instead of the default, mail(1).
/etc/tcpip.params TCP/IP parameters
/usr/sbin/init.d/rc.tcpipserv
Must start smtp server
/etc/passwd Must include entry for local mailer
/etc/services Must include smtp entry
SEE ALSO
dbm(1M), mail(1), mailstats(1M), mailx(1), aliases(4).
BUGS
The sendmail program converts blanks in addresses to dots. This is
incorrect according to the old ARPANET mail protocol RFC733 (NIC
41952), but is consistent with the new protocols (RFC822).
Licensed material--property of copyright holder(s) 7