SENDMAIL(8)          Maintenance Commands and Procedures         SENDMAIL(8)
NAME
       sendmail - send mail over the internet
SYNOPSIS
       /usr/lib/sendmail [
-Ac] [
-Am] [
-ba] [
-bD] [
-bd] [
-bi] [
-bl]
            [
-bm] [
-bp] [
-bP] [
-bs] [
-bt] [
-bv] [
-B type] [
-C file]
            [
-D logfile] [
-d X] [
-F fullname] [
-f name] [
-G]
            [
-h N] [
-L tag] [
-M x
value] [
-N notifications] [
-n]
            [
-Ooption =
value] [
-o x
value] [
-p protocol]
            [
-Q [
reason]] [
-q [
time]] [
-q Xstring] [
-R ret]
            [
-r name] [
-t] [
-V envid] [
-v] [
-X logfile]
            [
address]...
DESCRIPTION
       The 
sendmail utility sends a message to one or more people, 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 EOF, 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 the local 
aliases(5) file, or in a
       name service as defined by the 
nsswitch.conf(5) file, and aliased
       appropriately. In addition, if there is a 
.forward file in a
       recipient's home directory, 
sendmail forwards a copy of each message
       to the list of recipients that file contains. Refer to the 
NOTES       section for more information about 
.forward files. Aliasing can be
       prevented by preceding the address with a backslash.
       There are several conditions under which the expected behavior is for
       the alias database to be either built or rebuilt. This cannot occur
       under any circumstances unless root owns 
and has exclusive write
       permission to the 
/etc/mail/aliases* files.
       If a message is found to be undeliverable, it is returned to the
       sender with diagnostics that indicate the location and nature of the
       failure; or, the message is placed in a 
dead.letter file in the
       sender's home directory.
   Service Management
       The 
sendmail service is managed by the service management facility,       
smf(7), under the service identifiers:
         svc:/network/smtp:sendmail
         svc:/network/sendmail-client:default
       Administrative actions on these services, such as enabling,
       disabling, or requesting restart, can be performed using 
svcadm(8).
       The services' status can be queried using the 
svcs(1) command.
       These are separate services rather than instances of the same service
       so that other services can properly express any dependencies. In
       particular, here are some guidelines about which service/instance
       should be depended on for which purposes:
           o      For a service that uses 
sendmail to send mail, an optional
                  dependency on the service 
svc:/network/sendmail-client                  might be in order.
           o      For a service that needs to receive mail in general, but
                  does not depend on 
sendmail being the particular SMTP
                  receiver, a dependency on the service 
svc:/network/smtp                  might be in order.
           o      For a service that needs to interact with sendmail in
                  particular, such as a 
Milter, a dependency on the instance                  
svc:/network/smtp:sendmail might be in order.
       For the last two, note the difference, as the latter has the       
":sendmail" instance specification, whereas the former does not, thus
       representing the more general service.
   Enabling Access to Remote Clients
       On an unmodified system, access to 
sendmail by remote clients is
       enabled and disabled through the service management facility (see       
smf(7)). In particular, remote access is determined by the value of
       the 
local_only SMF property:
         svc:/network/smtp:sendmail/config/local_only = true
       A setting of 
true, as above, disallows remote access; 
false allows
       remote access. The default value is 
true.
       The following example shows the sequence of SMF commands used to
       enable 
sendmail to allow access to remote systems:
         # 
svccfg -s svc:/network/smtp:sendmail setprop config/local_only = false         # 
svcadm refresh svc:/network/smtp:sendmail         # 
svcadm restart svc:/network/smtp:sendmail       See 
svcadm(8) and 
svccfg(8).
       Note, however, on a system where any of the 
sendmail(5) files have
       been customized, setting this property might not have the intended
       effect. See 
sendmail(5) for details.
   Automated Rebuilding of Configuration Files
       See 
sendmail(5) for details on which service properties can be set to
       automate (re)building of configuration files when the service is
       started.
   Restricting Host Access
       sendmail uses TCP Wrappers to restrict access to hosts. It uses the
       service name of 
sendmail for 
hosts_access(). For more information on
       TCP Wrappers, see 
tcpd(8) and 
hosts_access(5).
   Startup Options
       The 
/etc/default/sendmail file stores startup options for 
sendmail so
       that the options are not removed when a host is upgraded. See also       
sendmail(5) for details on which service properties can be set to
       automate (re)building of configuration files when the service is
       started.
       You can use the following variables in the 
/etc/default/sendmail       startup file:       
CLIENTOPTIONS=string           Selects additional options to be used with the client daemon,
           which looks in the client-only queue (
/var/spool/clientmqueue)
           and acts as a client queue runner. No syntax checking is done, so
           be careful when making changes to this variable.       
CLIENTQUEUEINTERVAL=#           Similar to the 
QUEUEINTERVAL option, 
CLIENTQUEUEINTERVAL sets the
           time interval for mail queue runs. However, the           
CLIENTQUEUEINTERVAL option controls the functions of the client
           daemon, instead of the functions of the master daemon. Typically,
           the master daemon is able to deliver all messages to the SMTP
           port. However, if the message load is too high or the master
           daemon is not running, then messages go into the client-only
           queue, 
/var/spool/clientmqueue. The client daemon, which checks
           in the client-only queue, then acts as a client queue processor.       
ETRN_HOSTS=string           Enables an SMTP client and server to interact immediately without
           waiting for the queue run intervals, which are periodic. The
           server can immediately deliver the portion of its queue that goes
           to the specified hosts. For more information, refer to the           
etrn(8) man page.       
MODE=-bd           Selects the mode to start 
sendmail with. Use the 
-bd option or
           leave it undefined.       
OPTIONS=string           Selects additional options to be used with the master daemon. No
           syntax checking is done, so be careful when making changes to
           this variable.       
QUEUEINTERVAL=#           Sets the interval for mail queue runs on the master daemon. 
# can
           be a positive integer that is followed by either 
s for seconds, 
m           for minutes, 
h for hours, 
d for days, or 
w for weeks. The syntax
           is checked before 
sendmail is started. If the interval is
           negative or if the entry does not end with an appropriate letter,
           the interval is ignored and 
sendmail starts with a queue interval
           of 15 minutes.       
QUEUEOPTIONS=p           Enables one persistent queue runner that sleeps between queue run
           intervals, instead of a new queue runner for each queue run
           interval. You can set this option to 
p, which is the only setting
           available. Otherwise, this option is not set.
   Mail Filter API
       sendmail supports a mail filter API called "milter". For more
       information, see 
/usr/include/libmilter/README and
       http://www.milter.org
OPTIONS
       The following options are supported:       
-Ac           Uses 
submit.cf even if the operation mode does not indicate an
           initial mail submission.       
-Am           Uses 
sendmail.cf even if the operation mode indicates an initial
           mail submission.       
-ba           Goes into 
ARPANET mode. All input lines must end with a RETURN-
           LINEFEED, and all messages are generated with a RETURN-LINEFEED
           at the end. Also, the 
From: and 
Sender: fields are examined for
           the name of the sender.       
-bd           Runs as a daemon in the background, waiting for incoming SMTP
           connections.       
-bD           Runs as a daemon in the foreground, waiting for incoming SMTP
           connections.       
-bi           Initializes the 
aliases(5) database. Root must own 
and have
           exclusive write permission to the 
/etc/mail/aliases* files for
           successful use of this option.       
-bl           Runs as a daemon (like 
-bd) but accepts only loopback SMTP
           connections.       
-bm           Delivers mail in the usual way (default).       
-bp           Prints a summary of the mail queues.       
-bP           Prints the number of entries in the queues. This option is only
           available with shared memory support.       
-bs           Uses the SMTP protocol as described in RFC 2821. This flag
           implies all the operations of the 
-ba flag that are compatible
           with 
SMTP.       
-bt           Runs in address test mode. This mode reads addresses and shows
           the steps in parsing; it is used for debugging configuration
           tables.       
-bv           Verifies names only. Does not try to collect or deliver a
           message. Verify mode is normally used for validating users or
           mailing lists.       
-B type           Indicates body 
type (
7BIT or 
8BITMIME).       
-C file           Uses alternate configuration file.       
-D logfile           Send debugging output to the indicated log file instead of           
stdout.       
-d X           Sets debugging value to 
X.       
-f name           Sets the name of the "from" person (that is, the sender of the
           mail).       
-F fullname           Sets the full name of the sender.       
-G           When accepting messages by way of the command line, indicates
           that they are for relay (gateway) submission. When this flag is
           set, 
sendmail might complain about syntactically invalid
           messages, for example, unqualified host names, rather than fixing
           them. 
sendmail does not do any canonicalization in this mode.       
-h N           Sets 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.       
-L tag           Sets the identifier used in 
syslog messages to the supplied 
tag.       
-Mxvalue           Sets macro 
x to the specified 
value.       
-n           Does not do aliasing.       
-N notifications           Tags all addresses being sent as wanting the indicated           
notifications, which consists of the word "NEVER" or a comma-
           separated list of "SUCCESS", "FAILURE", and "DELAY" for
           successful delivery, failure and a message that is stuck in a
           queue somewhere. The default is "FAILURE,DELAY".       
-oxvalue           Sets option 
x to the specified 
value. 
Processing Options are
           described below.       
-Ooption=value           Sets 
option to the specified 
value (for long from names).           
Processing Options are described below.       
-p protocol           Sets the sending protocol. The 
protocol field can be in form           
protocol:host to set both the sending protocol and the sending
           host. For example: 
-pUUCP:uunet sets the sending 
protocol to 
UUCP           and the sending host to 
uunet. Some existing programs use 
-oM to
           set the 
r and 
s macros; this is equivalent to using 
-p.       
-q[
time]
           Processes saved messages in the queue at given intervals. If 
time           is omitted, processes the queue once. 
time is given as a tagged
           number, where 
s is seconds, 
m is minutes, 
h is hours, 
d is days,
           and 
w is weeks. For example, 
-q1h30m or 
-q90m would both set the
           timeout to one hour thirty minutes.
           By default, sendmail runs in the background. This option can be
           used safely with 
-bd.       
-qp[time-]           Similar to 
-q[
time], except that instead of periodically forking
           a child to process the queue, 
sendmail forks a single persistent
           child for each queue that alternates between processing the queue
           and sleeping. The sleep time (
time) is specified as the argument;
           it defaults to 
1 second.  The process always sleeps at least 
5           seconds if the queue was empty in the previous queue run.       
-qf           Processes saved messages in the queue once and does not 
fork(2),
           but runs in the foreground.       
-qG name           Processes jobs in queue group called 
name only.       
-q[!]I substr           Limits processed jobs to those containing 
substr as a substring
           of the queue 
ID or not when 
! is specified.       
-q[!]Q substr           Limits processed jobs to those quarantined jobs containing 
substr           as a substring of the quarantine 
reason or not when 
! is
           specified.       
-q[!]R substr           Limits processed jobs to those containing 
substr as a substring
           of one of the recipients or not when 
! is specified.       
-q[!]S substr           Limits processed jobs to those containing 
substr as a substring
           of the sender or not when 
! is specified.       
-Q[
reason]
           Quarantines a normal queue item with the given reason or
           unquarantines a quarantined queue item if no reason is given.
           This should only be used with some sort of item matching as
           described above.       
-r name           An alternate and obsolete form of the 
-f flag.       
-R ret           Identifies the information you want returned if the message
           bounces. 
ret can be 
HDRS for headers only or 
FULL for headers
           plus body.       
-t           Reads message for recipients. 
To:,
Cc:, and 
Bcc: lines are scanned
           for people to send to. The 
Bcc: line is deleted before
           transmission. Any addresses in the argument list is suppressed.
           The 
NoRecipientAction Processing Option can be used to change the
           behavior when no legal recipients are included in the message.       
-v           Goes into verbose mode. Alias expansions are announced, and so
           forth.       
-V envid           The indicated 
envid is passed with the envelope of the message
           and returned if the message bounces.       
-X logfile           Logs all traffic in and out of 
sendmail in the indicated 
logfile           for debugging mailer problems. This produces a lot of data very
           quickly and should be used sparingly.
   Processing Options
       There are a number of "random" options that can be set from a
       configuration file. Options are represented by a single character or
       by multiple character names. The syntax for the single character
       names of is:         
Oxvalue       This sets option 
x to be 
value. Depending on the option, 
value may be
       a string, an integer, a boolean (with legal values 
t, 
T, 
f, or 
F; the
       default is 
TRUE), or a time interval.
       The multiple character or long names use this syntax:         
O Longname=argument       This sets the option 
Longname to be 
argument. The long names are
       beneficial because they are easier to interpret than the single
       character names.
       Not all processing options have single character names associated
       with them. In the list below, the multiple character name is
       presented first followed by the single character syntax enclosed in
       parentheses.       
AliasFile (Afile)           Specifies possible alias files.       
AliasWait (a N)           If set, waits up to 
N minutes for an "@:@" entry to exist in the           
aliases(5) database before starting up. If it does not appear in           
N minutes, issues a warning. Defaults to 10 minutes.       
AllowBogusHELO           Allows a 
HELO SMTP command that does not include a host name. By
           default this option is disabled.       
BadRcptThrottle=N           If set and more than the specified number of recipients in a
           single 
SMTP envelope are rejected, sleeps for one second after
           each rejected RCPT command.       
BlankSub (Bc)           Sets the blank substitution character to 
c. Unquoted spaces in
           addresses are replaced by this character. Defaults to SPACE (that
           is, no change is made).       
CACertFile           File containing one CA cert.       
CACertPath           Path to directory with certs of CAs.       
CheckAliases (n)           Validates the RHS of aliases when rebuilding the 
aliases(5)           database.       
CheckpointInterval (CN)           Checkpoints the queue every 
N (default 
10) addresses sent. If
           your system crashes during delivery to a large list, this
           prevents retransmission to any but the last 
N recipients.       
ClassFactor (zfact)           The indicated factor 
fact is multiplied by the message class
           (determined by the 
Precedence: field in the user header and the 
P           lines in the configuration file) and subtracted from the
           priority. Thus, messages with a higher 
Priority: are favored.
           Defaults to 
1800.       
ClientCertFile           File containing the cert of the client, that is, this cert is
           used when 
sendmail acts as client.       
ClientKeyFile           File containing the private key belonging to the client cert.       
ClientPortOptions           Sets client 
SMTP options. The options are key=value pairs. Known
           keys are:           
Addr Address Mask               Address Mask defaults to 
INADDR_ANY. The address mask can be
               a numeric address in dot notation or a network name.           
Family               Address family (defaults to INET).           
Listen               Size of listen queue (defaults to 10).           
Port               Name/number of listening port (defaults to 
smtp).           
RcvBufSize               The size of the TCP/IP receive buffer.           
SndBufSize               The size of the TCP/IP send buffer.           
Modifier               Options (flags) for the daemon. Can be:               
h                   Uses name of interface for 
HELO command.
               If 
h is set, the name corresponding to the outgoing interface
               address (whether chosen by means of the 
Connection parameter
               or the default) is used for the 
HELO/
EHLO command.       
ColonOkInAddr           If set, colons are treated as a regular character in addresses.
           If not set, they are treated as the introducer to the RFC 822
           "group" syntax. This option is on for version 5 and lower
           configuration files.       
ConnectionCacheSize (kN)           The maximum number of open connections that are to be cached at a
           time. The default is 
1. This delays closing the current
           connection until either this invocation of 
sendmail needs to
           connect to another host or it terminates. Setting it to 
0           defaults to the old behavior, that is, connections are closed
           immediately.       
ConnectionCacheTimeout (Ktimeout)           The maximum amount of time a cached connection is permitted to
           idle without activity. If this time is exceeded, the connection
           is immediately closed. This value should be small (on the order
           of ten minutes). Before 
sendmail uses a cached connection, it
           always sends a 
NOOP (no operation) command to check the
           connection. If the 
NOOP command fails, it reopens the connection.
           This keeps your end from failing if the other end times out. The
           point of this option is to be a good network neighbor and avoid
           using up excessive resources on the other end. The default is
           five minutes.       
ConnectionRateThrottle           The maximum number of connections permitted per second. After
           this many connections are accepted, further connections are
           delayed. If not set or <= 0, there is no limit.       
ConnectionRateWindowSize           Define the length of the interval for which the number of
           incoming connections is maintained. The default is 60 seconds.       
ControlSocketName           Name of the control socket for daemon management. A running           
sendmail daemon can be controlled through this Unix domain
           socket. Available commands are: 
help, 
restart, 
shutdown, and           
status. The 
status command returns the current number of daemon
           children, the free disk space (in blocks) of the queue directory,
           and the load average of the machine expressed as an integer. If
           not set, no control socket is available.  For the sake of
           security, this Unix domain socket must be in a directory which is
           accessible only by root; 
/var/spool/mqueue/.smcontrol is
           recommended for the socket name.       
CRLFile           File containing certificate revocation status, useful for X.509v3
           authentication.       
DaemonPortOptions (Ooptions)           Sets server SMTP options. The options are 
key=value pairs. Known
           keys are:           
Name               User-definable name for the daemon (defaults to "
Daemon#").
               Used for error messages and logging.           
Addr               Address mask (defaults 
INADDR_ANY).
               The address mask may be a numeric address in dot notation or
               a network name.           
Family               Address family (defaults to 
INET).           InputMailFilters               List of input mail filters for the daemon.           
Listen               Size of listen queue (defaults to 
10).           
Modifier               Options (flags) for the daemon; can be a sequence (without
               any delimiters) of:               
a                   Requires authentication.               
b                   Binds to interface through which mail has been received.               
c                   Performs hostname canonification (
.cf).               
f                   Requires fully qualified hostname (
.cf).               
h                   Uses name of interface for 
HELO command.               
u                   Allows unqualified addresses (
.cf).               
C                   Does not perform hostname canonification.               
E                   Disallows 
ETRN (see 
RFC 2476).           
Name               User-definable name for the daemon (defaults to 
Daemon#).
               Used for error messages and logging.           
Port               Name/number of listening port (defaults to 
smtp).           
ReceiveSize               The size of the TCP/IP receive buffer.           
SendSize               The size of the TCP/IP send buffer.           
children               Maximum number of children per daemon. See 
MaxDaemonChildren.           
DeliveryMode               Delivery mode per daemon. See 
DeliveryMode.           
refuseLA               RefuseLA per daemon.           
delayLA               DelayLA per daemon.           
queueLA               QueueLA per daemon.           
sendmail listens on a new socket for each occurrence of the           
DaemonPortOptions option in a configuration file.       
DataFileBufferSize           Sets the threshold, in bytes, before a memory-bases queue data
           file becomes disk-based. The default is 4096 bytes.       
DeadLetterDrop           Defines the location of the system-wide dead.letter file,
           formerly hard-coded to 
/var/tmp/dead.letter. If this option is
           not set (the default), 
sendmail does not attempt to save to a
           system-wide 
dead.letter file in the event it cannot bounce the
           mail to the user or postmaster. Instead, it renames the 
qf file
           as it has in the past when the 
dead.letter file could not be
           opened.       
DefaultCharSet           Sets the default character set to use when converting unlabeled 8
           bit input to MIME.       
DefaultUser (ggid) or (uuid)           Sets the default group ID for mailers to run in to 
gid or set the
           default userid for mailers to 
uid. Defaults to 
1. The value can
           also be given as a symbolic group or user name.       
DelayLA=LA           When the system load average exceeds 
LA, 
sendmail sleeps for one
           second on most SMTP commands and before accepting connections.       
DeliverByMin=time           Sets minimum time for 
Deliver By SMTP Service Extension (RFC
           2852). If 
0, no time is listed, if less than 
0, the extension is
           not offered, if greater than 
0, it is listed as minimum time for
           the 
EHLO keyword 
DELIVERBY.       
DeliveryMode (dx)           Delivers in mode 
x. Legal modes are:           
i               Delivers interactively (synchronously).           
b               Delivers in background (asynchronously).           
d               Deferred mode. Database lookups are deferred until the actual
               queue run.           
q               Just queues the message (delivers during queue run).
           Defaults to 
b if no option is specified, 
i if it is specified but
           given no argument (that is, 
Od is equivalent to 
Odi).       
DHParameters           File containing the DH parameters.       
DialDelay           If a connection fails, waits this many seconds and tries again.
           Zero means "do not retry".       
DontBlameSendmail           If set, overrides the file safety checks. This compromises system
           security and should not be used. See
           http://www.sendmail.org/tips/DontBlameSendmail.html for more
           information.       
DontExpandCnames           If set, $[ ... $] lookups that do DNS-based lookups do not expand
           CNAME records.       
DontInitGroups           If set, the 
initgroups(3C) routine is never invoked. If you set
           this, agents run on behalf of users only have their primary
           (
/etc/passwd) group permissions.       
DontProbeInterfaces           If set, 
sendmail does not insert the names and addresses of any
           local interfaces into the 
$=w class. If set, you must also
           include support for these addresses, otherwise mail to addresses
           in this list bounces with a configuration error.       
DontPruneRoutes (R)           If set, does not prune route-addr syntax addresses to the minimum
           possible.       
DoubleBounceAddress           If an error occurs when sending an error message, sends that
           "double bounce" error message to this address.       
EightBitMode (8)           Uses 8-bit data handling. This option requires one of the
           following keys. The key can selected by using just the first
           character, but using the full word is better for clarity.           
mimify               Does any necessary conversion of 
8BITMIME to 7-bit.           
pass               Passes unlabeled 8-bit input through as is.           
strict               Rejects unlabeled 8-bit input.       
ErrorHeader (Efile/message)           Appends error messages with the indicated message. If it begins
           with a slash, it is assumed to be the pathname of a file
           containing a message (this is the recommended setting).
           Otherwise, it is a literal message. The error file might contain
           the name, email address, and/or phone number of a local
           postmaster who could provide assistance to end users. If the
           option is missing or 
NULL, or if it names a file which does not
           exist or which is not readable, no message is printed.       
ErrorMode (ex)           Disposes of errors using mode 
x. The values for 
x are:           
e               Mails back errors and gives 
0 exit status always.           
m               Mails back errors.           
p               Prints error messages (default).           
q               No messages, just gives exit status.           
w               Writes back errors (mail if user not logged in).       
FallbackMXhost (Vfallbackhost)           If specified, the 
fallbackhost acts like a very low priority MX
           on every host. This is intended to be used by sites with poor
           network connectivity.       
FallBackSmartHost           If specified, the 
fallBackSmartHost is used in a last-ditch
           effort for each host. This is intended to be used by sites with
           "fake internal DNS". That is, a company whose DNS accurately
           reflects the world inside that company's domain but not outside.       
FastSplit           If set to a value greater than zero (the default is one), it
           suppresses the MX lookups on addresses when they are initially
           sorted, that is, for the first delivery attempt. This usually
           results in faster envelope splitting unless the MX records are
           readily available in a local DNS cache. To enforce initial
           sorting based on MX records set 
FastSplit to zero. If the mail is
           submitted directly from the command line, then the value also
           limits the number of processes to deliver the envelopes; if more
           envelopes are created they are only queued up and must be taken
           care of by a queue run. Since the default submission method is by
           way of SMTP (either from a MUA or by way of the Message
           Submission Program [MSP]), the value of 
FastSplit is seldom used
           to limit the number of processes to deliver the envelopes.       
ForkEachJob (Y)           If set, delivers each job that is run from the queue in a
           separate process. Use this option if you are short of memory,
           since the default tends to consume considerable amounts of memory
           while the queue is being processed.       
ForwardPath (Jpath)           Sets the path for searching for users' 
.forward files. The
           default is 
$z/.forward. Some sites that use the automounter may
           prefer to change this to 
/var/forward/$u to search a file with
           the same name as the user in a system directory. It can also be
           set to a sequence of paths separated by colons; 
sendmail stops at
           the first file it can successfully and safely open. For example,           
/var/forward/$u:$z/.forward searches first in 
/var/forward/           username and then in 
~username/.forward (but only if the first
           file does not exist). Refer to the NOTES section for more
           information.       
HeloName=name           Sets the name to be used for 
HELO/
EHLO (instead of 
$j).       
HelpFile (Hfile)           Specifies the help file for SMTP.       
HoldExpensive (c)           If an outgoing mailer is marked as being expensive, does not
           connect immediately.       
HostsFile           Sets the file to use when doing "file" type access of host names.       
HostStatusDirectory           If set, host status is kept on disk between 
sendmail runs in the
           named directory tree. If a full path is not used, then the path
           is interpreted relative to the queue directory.       
IgnoreDots (i)           Ignores dots in incoming messages. This is always disabled (that
           is, dots are always accepted) when reading 
SMTP mail.       
LogLevel (Ln)           Sets the default log level to 
n. Defaults to 
9.       
(Mxvalue)           Sets the macro 
x to 
value. This is intended only for use from the
           command line.       
MailboxDatabase           Type of lookup to find information about local mail boxes,
           defaults to 
pw which uses 
getpwnam(3C). Other types can be
           introduced by adding them to the source code, see 
libsm/mbdb.c           for details.       
MatchGECOS (G)           Tries to match recipient names using the GECOS field. This allows
           for mail to be delivered using names defined in the GECOS field
           in 
/etc/passwd as well as the login name.       
MaxDaemonChildren           The maximum number of children the daemon permits. After this
           number, connections are rejected. If not set or <=0, there is no
           limit.       
MaxHopCount (hN)           The maximum hop count. Messages that have been processed more
           than 
N times are assumed to be in a loop and are rejected.
           Defaults to 
25.       
MaxMessageSize           The maximum size of messages that are accepted (in bytes).       
MaxMimeHeaderLength=M[/N]           Sets the maximum length of certain MIME header field values to 
M           characters. For some of these headers which take parameters, the
           maximum length of each parameter is set to 
N if specified. If 
/N           is not specified, one half of 
M is used. By default, these values
           are 
0, meaning no checks are done.       
MaxNOOPCommands=N           Overrides the default of 20 for the number of useless commands.       
MaxQueueChildren=N           When set, this limits the number of concurrent queue runner
           processes to 
N. This helps to control the amount of system
           resources used when processing the queue. When there are multiple
           queue groups defined and the total number of queue runners for
           these queue groups would exceed 
MaxQueueChildren then the queue
           groups are not all run concurrently. That is, some portion of the
           queue groups run concurrently such that 
MaxQueueChildren is not
           be exceeded, while the remaining queue groups are run later (in
           round robin order). See 
MaxRunnersPerQueue.       
MaxQueueRunSize           If set, limits the maximum size of any given queue run to this
           number of entries. This stops reading the queue directory after
           this number of entries is reached; job priority is not used. If
           not set, there is no limit.       
MaxRunnersPerQueue=N           This sets the default maximum number of queue runners for queue
           groups. Up to 
N queue runners work in parallel on a queue group's
           messages. This is useful where the processing of a message in the
           queue might delay the processing of subsequent messages. Such a
           delay can be the result of non-erroneous situations such as a low
           bandwidth connection. The can be overridden on a per queue group
           basis by setting the 
Runners option. The default is 
1 when not
           set.       
MeToo (M)           Sends to me too, even if I am in an alias expansion.       
MaxRecipientsPerMessage           If set, allows no more than the specified number of recipients in
           an SMTP envelope. Further recipients receive a 452 error code and
           are deferred for the next delivery attempt.       
MinFreeBlocks (bN/M)           Insists on at least 
N blocks free on the file system that holds
           the queue files before accepting email by way of SMTP. If there
           is insufficient space, 
sendmail gives a 
452 response to the 
MAIL           command. This invites the sender to try again later. The optional           
M is a maximum message size advertised in the 
ESMTP EHLO           response. It is currently otherwise unused.       
MinQueueAge           Specifies the amount of time a job must sit in the queue between
           queue runs.  This allows you to set the queue run interval low
           for better responsiveness without trying all jobs in each run.
           The default value is 0.       
MustQuoteChars           Specifies the characters to be quoted in a full name phrase.           
&,;:\()[] are quoted automatically.       
NiceQueueRun           Specifies the priority of queue runners. See 
nice(1).       
NoRecipientAction           Sets action if there are no legal recipient files in the message.
           The legal values are:           
add-apparently-to               Adds an 
Apparently-to: header with all the known recipients
               (which may expose blind recipients).           
add-bcc               Adds an empty 
Bcc: header.           
add-to               Adds a 
To: header with all the known recipients (which may
               expose blind recipients).           
add-to-undisclosed               Adds a 
To: undisclosed-recipients: header.           
none               Does nothing, that is, leaves the message as it is.       
OldStyleHeaders (o)           Assumes that the headers may be in old format, that is, spaces
           delimit names.  This actually turns on an adaptive algorithm: if
           any recipient address contains a comma, parenthesis, or angle
           bracket, it is assumed that commas already exist. If this flag is
           not on, only commas delimit names. Headers are always output with
           commas between the names.       
OperatorChars or $o           Defines the list of characters that can be used to separate the
           components of an address into tokens.       
PidFile           Specifies the filename of the 
pid file. The default is           
/var/run/sendmail.pid. The filename is macro-expanded before it
           is opened, and unlinked when 
sendmail exits.       
PostmasterCopy (Ppostmaster)           If set, copies of error messages are sent to the named           
postmaster. Only the header of the failed message is sent. Since
           most errors are user problems, this is probably not a good idea
           on large sites, and arguably contains all sorts of privacy
           violations, but it seems to be popular with certain operating
           systems vendors.       
PrivacyOptions (popt,opt,...)           Sets privacy options. Privacy is really a misnomer; many of these
           options are just a way of insisting on stricter adherence to the
           SMTP protocol.
           The 
goaway pseudo-flag sets all flags except 
noreceipts,           
restrictmailq, 
restrictqrun, 
restrictexpand, 
noetrn, and           
nobodyreturn. If 
mailq is restricted, only people in the same
           group as the queue directory can print the queue. If queue runs
           are restricted, only root and the owner of the queue directory
           can run the queue. The 
restrict-expand pseudo-flag instructs
           sendmail to drop privileges when the -bv option is given by users
           who are neither root nor the 
TrustedUser so users cannot read
           private aliases, forwards, or 
:include: files. It adds the           
NonRootSafeAddr to the "DontBlame-Sendmail" option to prevent
           misleading unsafe address warnings. It also overrides the 
-v           (verbose) command line option to prevent information leakage.
           Authentication Warnings add warnings about various conditions
           that may indicate attempts to fool the mail system, such as using
           an non-standard queue directory.
           The options can be selected from:           
authwarnings               Puts 
X-Authentication-Warning: headers in messages.           
goaway               Disallows essentially all SMTP status queries.           
needexpnhelo               Insists on 
HELO or 
EHLO command before 
EXPN.           
needmailhelo               Insists on 
HELO or 
EHLO command before 
MAIL.           
needvrfyhelo               Insists on 
HELO or 
EHLO command before 
VRFY.           
noactualrecipient               Do not put an X-Actual-Recipient line in a DNS that reveals
               the actual account to which an address is mapped.           
noetrn               Disallows 
ETRN entirely.           
noexpn               Disallows 
EXPN entirely.           
noreceipts               Prevents return receipts.           
nobodyreturn               Does not return the body of a message with DSNs.           
novrfy               Disallows 
VRFY entirely.           
public               Allows open access.           
restrictexpand               Restricts 
-bv and 
-v command line flags.           
restrictmailq               Restricts 
mailq command.           
restrictqrun               Restricts 
-q command line flag.       
ProcessTitlePrefix string           Prefixes the process title shown on "
/usr/ucb/ps auxww" listings
           with 
string. The string is macro processed.       
QueueDirectory (Qdir)           Uses the named 
dir as the queue directory.       
QueueFactor (qfactor)           Uses 
factor as the multiplier in the map function to decide when
           to just queue up jobs rather than run them. This value is divided
           by the difference between the current load average and the load
           average limit (
x flag) to determine the maximum message priority
           to be sent. Defaults to 
600000.       
QueueFileMode=mode           Defaults permissions for queue files (octal). If not set,           
sendmail uses 
0600 unless its real and effective 
uid are
           different in which case it uses 
0644.       
QueueLA (xLA)           When the system load average exceeds 
LA, just queues messages
           (that is, does not try to send them). Defaults to eight times the
           number of processors online when 
sendmail starts.       
QueueSortOrder=algorithm           Sets the algorithm used for sorting the queue. Only the first
           character of the value is used. Legal values are 
host (to order
           by the name of the first host name of the first recipient),           
filename (to order by the name of the queue file name), 
time (to
           order by the submission/creation time), 
random (to order
           randomly), 
modification (to order by the modification time of the           
qf file (older entries first)), 
none (to not order), and 
priority           (to order by message priority). Host ordering makes better use of
           the connection cache, but may tend to process low priority
           messages that go to a single host over high priority messages
           that go to several hosts; it probably shouldn't be used on slow
           network links. Filename and modification time ordering saves the
           overhead of reading all of the queued items before starting the
           queue run. Creation (submission) time ordering is almost always a
           bad idea, since it allows large, bulk mail to go out before
           smaller, personal mail, but may have applicability on some hosts
           with very fast connections. Random is useful if several queue
           runners are started by hand which try to drain the same queue
           since odds are they are working on different parts of the queue
           at the same time. Priority ordering is the default.       
QueueTimeout (Trtime/wtime)           Sets the queue timeout to 
rtime. After this interval, messages
           that have not been successfully sent are returned to the sender.
           Defaults to five days (
5d). The optional 
wtime is the time after
           which a warning message is sent. If it is missing or 
0, then no
           warning messages are sent.       
RandFile           File containing random data (use prefix 
file:) or the name of the
           UNIX socket if EGD is used (use prefix 
egd:). Note that Solaris
           supports 
random(4D), so this does not need to be specified.       
RecipientFactor (yfact)           The indicated factor 
fact is added to the priority (thus 
lowering           the priority of the job) for each recipient, that is, this value
           penalizes jobs with large numbers of recipients. Defaults to           
30000.       
RefuseLA (XLA)           When the system load average exceeds 
LA, refuses incoming 
SMTP           connections. Defaults to 12 times the number of processors online
           when 
sendmail starts.       
RejectLogInterval           Log interval when refusing connections for this long (default:
           3h).       
ResolverOptions (I)           Tunes DNS lookups.       
RetryFactor (Zfact)           The indicated factor 
fact is added to the priority every time a
           job is processed. Thus, each time a job is processed, its
           priority is decreased by the indicated value. In most
           environments this should be positive, since hosts that are down
           are all too often down for a long time. Defaults to 
90000.       
RrtImpliesDsn           If this option is set, a 
Return-Receipt-To: header causes the
           request of a 
DSN, which is sent to the envelope sender as
           required by RFC 1891, not to the address given in the header.       
RunAsUser           If set, becomes this user when reading and delivering mail.
           Intended for use of firewalls where users do not have accounts.       
SafeFileEnvironment           If set, 
sendmail does a 
chroot into this directory before writing
           files.       
SaveFromLine (f)           Saves Unix-style 
From lines at the front of headers. Normally
           they are assumed redundant and discarded.       
SendMimeErrors (j)           If set, sends error messages in MIME format (see RFC 2045 and RFC
           1344 for details). If disabled, 
sendmail does not return the DSN
           keyword in response to an 
EHLO and does not do Delivery Status
           Notification processing as described in RFC 1891.       
ServerCertFile           File containing the cert of the server, that is, this cert is
           used when 
sendmail acts as server.       
ServerKeyFile           File containing the private key belonging to the server cert.       
ServiceSwitchFile           Defines the path to the service-switch file. Since the service-
           switch file is defined in the Solaris operating environment this
           option is ignored.       
SevenBitInput (7)           Strips input to seven bits for compatibility with old systems.
           This should not be necessary.       
SharedMemoryKey           Specifies key to use for shared memory segment. If not set (or           
0), shared memory is not be used. If this option is set, 
sendmail           can share some data between different instances. For example, the
           number of entries in a queue directory or the available space in
           a file system. This allows for more efficient program execution,
           since only one process needs to update the data instead of each
           individual process gathering the data each time it is required.       
SharedMemoryKeyFile=file           If 
SharedMemoryKeyFile is set to 
-1, the automatically selected
           shared memory key will be stored in the specified file.       
SingleLineFromHeader           If set, 
From: lines that have embedded newlines are unwrapped
           onto one line.       
SingleThreadDelivery           If this option and the 
HostStatusDirectory option are both set,
           uses single thread deliveries to other hosts.       
SmtpGreetingMessage or $e           Specifies the initial SMTP greeting message.       
SoftBounce           If set, issue temporary errors (
4xy) instead of permanent errors
           (
5xy). This can be useful during testing of a new configuration
           to avoid erroneous bouncing of mail.       
StatusFile (Sfile)           Logs statistics in the named 
file. By default, this is           
/etc/mail/sendmail.st. As root, you must 
touch(1) this file to
           enable 
mailstats(1).       
SuperSafe (s)           This option can be set to 
True, 
False, 
Interactive, or           
PostMilter. If set to 
True, 
sendmail is set to super-safe when
           running things, that is, always instantiate the queue file, even
           if you are going to attempt immediate delivery. 
sendmail always
           instantiates the queue file before returning control to the
           client under any circumstances. This should really always be set
           to 
True. The 
Interactive value has been introduced in 
8.12 and
           can be used together with 
DeliveryMode=i. It skips some
           synchronization calls which are effectively doubled in the code
           execution path for this mode. If set to 
PostMilter, 
sendmail           defers synchronizing the queue file until any milters have
           signaled acceptance of the message. 
PostMilter is useful only
           when 
sendmail is running as an SMTP server; in all other
           situations it acts the same as True.       
TempFileMode (Fmode)           Specifies the file mode for queue files.       
Timeout (rtimeouts)           Timeout reads after time interval. The 
timeouts argument is a
           list of 
keyword=value pairs. All but 
command apply to client           
SMTP.  For backward compatibility, a timeout with no 
keyword=
           part is set all of the longer values. The recognized timeouts and
           their default values, and their minimum values specified in RFC
           1123 section 5.3.2 are:           
aconnect               all connections for a single delivery attempt [0,
               unspecified]           
command               command read [1h, 5m]           
connect               initial connect [0, unspecified]           
control               complete control socket transaction [2m, none]           
datablock               data block read [1h, 3m]           
datafinal               reply to final 
. in data [1h, 10m]           
datainit               reply to 
DATA command [5m, 2m]           
fileopen               file open [60sec, none]           
helo               reply to 
HELO or 
EHLO command [5m, none]           
hoststatus               host retry [30m, unspecified]           
iconnect               first attempt to connect to a host [0, unspecified]           
ident               IDENT protocol timeout [5s, none]           
initial               wait for initial greeting message [5m, 5m]           
lhlo               wait for reply to an LMTP LHLO command [2m, unspecified]           
mail               reply to 
MAIL command [10m, 5m]           
misc               reply to 
NOOP and 
VERB commands [2m, none]           
queuereturn               undeliverable message returned [5d]           
queuewarn               deferred warning [4h]           
quit               reply to 
QUIT command [2m, none]           
rcpt               reply to 
RCPT command [1h, 5m]           
resolver.retrans               Resolver's retransmission time interval (in seconds)
               [varies]. Sets both 
Timeout.resolver.retrans.first and               
Timeout.resolver.retrans.normal.           
resolver.retrans.first               Resolver's retransmission time interval (in seconds) for the
               first attempt to deliver a message [varies].           
resolver.retrans.normal               Resolver's retransmission time interval (in seconds) for all
               look-ups except the first delivery attempt [varies].           
resolver.retry               Number of times to retransmit a resolver query [varies]. Sets
               both 
Timeout.resolver.retry.first and               
Timeout.resolver.retry.normal.           
resolver.retry.first               Number of times to retransmit a resolver query for the first
               attempt to deliver a message [varies].           
resolver.retry.normal               Number of times to retransmit a resolver query for all look-
               ups except the first delivery attempt [varies].           
rset               reply to 
RSET command [5m, none]           
starttls               response to an 
SMTP STARTTLS command [1h]       
TimeZoneSpec (ttzinfo)           Sets the local time zone info to 
tzinfo, for example, "PST8PDT".
           Actually, if this is not set, the 
TZ environment variable is
           cleared (so the system default is used); if set but null, the
           user's 
TZ variable is used, and if set and non-null, the 
TZ           variable is set to this value.       
TLSSrvOptions           If this option is '
V', then no client verification is
           performed,that is, the server does not ask for a certificate.       
TrustedUser           The user parameter can be a user name (looked up in the passwd
           map) or a numeric user id. Trusted user for file ownership and
           starting the daemon. If set, generated alias databases and the
           control socket (if configured) are automatically owned by this
           user.       
TryNullMXList (w)           If you are the "best" (that is, lowest preference) 
MX for a given
           host, you should normally detect this situation and treat that
           condition specially, by forwarding the mail to a 
UUCP feed,
           treating it as local, or whatever.  However, in some cases (such
           as Internet firewalls) you may want to try to connect directly to
           that host as though it had no 
MX records at all.  Setting this
           option causes 
sendmail to try this. The downside is that errors
           in your configuration are likely to be diagnosed as "host
           unknown" or "message timed out" instead of something more
           meaningful. This option is deprecated.       
UnixFromLine or $l           The "From " line used when sending to files or programs.       
UnsafeGroupWrites           If set, group-writable :include: and .forward files are
           considered "unsafe", that is, programs and files cannot be
           directly referenced from such files.       
UseErrorsTo (l)           If there is an 
Errors-To: header, sends error messages to the
           addresses listed there. They normally go to the envelope sender.
           Use of this option causes 
sendmail to violate 
RFC 1123. This
           option is not recommended and deprecated.       
UseMSP           Uses as mail submission program, that is, allows group writable
           queue files if the group is the same as that of a set-group-id           
sendmail binary.       
UserDatabaseSpec (U)           Defines the name and location of the file containing User
           Database information.       
Verbose (v)           Runs in verbose mode. If this is set, 
sendmail adjusts the           
HoldExpensive and 
DeliveryMode options so that all mail is
           delivered completely in a single job so that you can see the
           entire delivery process. The 
Verbose option should 
never be set
           in the configuration file; it is intended for command line use
           only.       
XscriptFileBufferSize           Sets the threshold, in bytes, before a memory-bases queue
           transcript file becomes disk-based. The default is 4096 bytes.
       If the first character of the user name is a vertical bar, the rest
       of the user name is used as the name of a program to pipe the mail
       to. It may be necessary to quote the name of the user to keep       
sendmail from suppressing the blanks from between arguments.
       If invoked as 
newaliases, 
sendmail rebuilds the alias database, so
       long as the 
/etc/mail/aliases* files are owned by root 
and root has
       exclusive write permission. If invoked as 
mailq, 
sendmail prints the
       contents of the mail queue.
OPERANDS
       address           address of an intended recipient of the message being sent.
USAGE
       See 
largefile(7) for the description of the behavior of 
sendmail when
       encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
EXIT STATUS
       sendmail returns an exit status describing what it did. The codes are
       defined in 
/usr/include/sysexits.h.       
EX_OK           Successful completion on all addresses.       
EX_NOUSER           User name not recognized.       
EX_UNAVAILABLE           Catchall. 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.
ENVIRONMENT VARIABLES
       No environment variables are used. However, sendmail's start-up
       script, invoked by 
svcadm(8), reads 
/etc/default/sendmail. In this
       file, if the variable 
ETRN_HOSTS is set, the start-up script parses
       this variable and invokes 
etrn(8) appropriately. 
ETRN_HOSTS should be
       of the form:
         "s1:c1.1,c1.2        s2:c2.1 s3:c3.1,c3.2,c3.3"
       That is, white-space separated groups of 
server:client where 
client       can be one or more comma-separated names. The 
:client part is
       optional.  
server is the name of the server to prod; a mail queue run
       is requested for each 
client name. This is comparable to running:
         /usr/lib/sendmail -qR 
client       on the host 
server.
FILES
       dead.letter           Unmailable text       
/etc/default/sendmail           Contains default settings. You can override some of the settings
           by command line options.       
/etc/mail/aliases           Mail aliases file (ASCII)       
/etc/mail/aliases.db           Database of mail aliases (binary)       
/etc/mail/aliases.dir           Database of mail aliases (binary)       
/etc/mail/aliases.pag           Database of mail aliases (binary)       
/etc/mail/sendmail.cf           Defines environment for 
sendmail       /etc/mail/submit.cf           Defines environment for MSP       
/etc/mail/trusted-users           Lists users that are "trusted", that is, able to set their
           envelope from address using 
-f without generating a warning
           message. Note that this file is consulted by the default           
sendmail.cf, but not by the default 
submit.cf, in which the line
           referring to 
/etc/mail/trusted-users is commented out. See           
sendmail(5) for instructions on making changes to 
submit.cf and           
sendmail.cf.       
/var/spool/clientmqueue/*           Temporary files and queued mail       
/var/spool/mqueue/*           Temporary files and queued mail       
~/.forward           List of recipients for forwarding messages       
/usr/include/libmilter/README           Describes the steps needed to compile and run a filter
SEE ALSO
       mail(1), 
mailq(1), 
mailx(1), 
nice(1), 
svcs(1), 
biff(1B), 
fork(2),       
getpwnam(3C), 
getusershell(3C), 
resolver(3RESOLV), 
random(4D),       
aliases(5), 
hosts(5), 
hosts_access(5), 
sendmail(5), 
shells(5),       
attributes(7), 
largefile(7), 
smf(7), 
check-hostname(8),       
check-permissions(8), 
etrn(8), 
newaliases(8), 
svcadm(8), 
svccfg(8),       
tcpd(8)       RFC 2821 
Simple Mail Transfer Protocol, John Klensin, April 2001.       
RFC 2822 
Internet Message Format, Pete Resnick, April 2001.       
sendmail, Third Edition, Bryan Costales with Eric Allman, O'Reilly &
       Associates, Inc., 2003.
       http://www.sendmail.org
       http://www.milter.org
NOTES
       The 
sendmail program requires a fully qualified host name when
       starting.  A script has been included to help verify if the host name
       is defined properly (see 
check-hostname(8)).
       The permissions and the ownership of several directories have been
       changed in order to increase security. In particular, access to       
/etc/mail and 
/var/spool/mqueue has been restricted.
       Security restrictions have been placed users using 
.forward files to
       pipe mail to a program or redirect mail to a file. The default shell
       (as listed in 
/etc/passwd) of these users must be listed in       
/etc/shells. This restriction does not affect mail that is being
       redirected to another alias.
       Additional restrictions have been put in place on 
.forward and       
:include: files. These files and the directory structure that they
       are placed in cannot be group- or world-writable. See 
check-       permissions(8).
       If you have interfaces that map to domains that have MX records that
       point to non-local destinations, you might need to enable the       
DontProbeInterfaces option to enable delivery to those destinations.
       In its default startup behavior, 
sendmail probes each interface and
       adds an interface's 
IP addresses, as well as any domains that those
       addresses map to, to its list of domains that are considered local.
       For domains thus added, being on the list of local domains is
       equivalent to having a 0-preference MX record, with 
localhost as the
       MX value. If this is not the result you want, enable       
DontProbeInterfaces.
                                May 13, 2017                     SENDMAIL(8)