2 .\" Copyright (c) 1998-2003 Sendmail, Inc. and its suppliers. All rights reserved.
3 .\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved.
4 .\" Copyright (c) 1988, 1991, 1993 The Regents of the University of California. All rights reserved.
5 .\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
6 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
7 .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
8 .\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
9 .TH SENDMAIL 1M "April 9, 2016"
11 sendmail \- send mail over the internet
15 \fB/usr/lib/sendmail\fR [\fB-Ac\fR] [\fB-Am\fR] [\fB-ba\fR] [\fB-bD\fR] [\fB-bd\fR] [\fB-bi\fR] [\fB-bl\fR]
16 [\fB-bm\fR] [\fB-bp\fR] [\fB-bP\fR] [\fB-bs\fR] [\fB-bt\fR] [\fB-bv\fR] [\fB-B\fR \fItype\fR] [\fB-C\fR \fIfile\fR]
17 [\fB-D\fR \fIlogfile\fR] [\fB-d\fR \fIX\fR] [\fB-F\fR \fIfullname\fR] [\fB-f\fR \fIname\fR] [\fB-G\fR]
18 [\fB-h\fR \fIN\fR] [\fB-L \fItag\fR\fR] [\fB-M\fR x\fIvalue\fR] [\fB-N\fR \fInotifications\fR] [\fB-n\fR]
19 [\fB-O\fR\fIoption\fR =\fIvalue\fR] [\fB-o\fR x\fIvalue\fR] [\fB-p\fR \fIprotocol\fR]
20 [\fB-Q\fR [\fIreason\fR]] [\fB-q\fR [\fItime\fR]] [\fB-q\fR \fIXstring\fR] [\fB-R\fR \fIret\fR]
21 [\fB-r\fR \fIname\fR] [\fB-t\fR] [\fB-V\fR \fIenvid\fR] [\fB-v\fR] [\fB-X\fR \fIlogfile\fR]
27 The \fBsendmail\fR utility sends a message to one or more people, routing the
28 message over whatever networks are necessary. \fBsendmail\fR does internetwork
29 forwarding as necessary to deliver the message to the correct place.
32 \fBsendmail\fR is not intended as a user interface routine. Other programs
33 provide user-friendly front ends. \fBsendmail\fR is used only to deliver
34 pre-formatted messages.
37 With no flags, \fBsendmail\fR reads its standard input up to an EOF, or a line
38 with a single dot, and sends a copy of the letter found there to all of the
39 addresses listed. It determines the network to use based on the syntax and
40 contents of the addresses.
43 Local addresses are looked up in the local \fBaliases\fR(4) file, or in a name
44 service as defined by the \fBnsswitch.conf\fR(4) file, and aliased
45 appropriately. In addition, if there is a \fB\&.forward\fR file in a
46 recipient's home directory, \fBsendmail\fR forwards a copy of each message to
47 the list of recipients that file contains. Refer to the \fBNOTES\fR section for
48 more information about \fB\&.forward\fR files. Aliasing can be prevented by
49 preceding the address with a backslash.
52 There are several conditions under which the expected behavior is for the alias
53 database to be either built or rebuilt. This cannot occur under any
54 circumstances unless root owns \fBand\fR has exclusive write permission to the
55 \fB/etc/mail/aliases*\fR files.
58 If a message is found to be undeliverable, it is returned to the sender with
59 diagnostics that indicate the location and nature of the failure; or, the
60 message is placed in a \fBdead.letter\fR file in the sender's home directory.
61 .SS "Service Management"
63 The \fBsendmail\fR service is managed by the service management facility,
64 \fBsmf\fR(5), under the service identifiers:
68 svc:/network/smtp:sendmail
69 svc:/network/sendmail-client:default
77 Administrative actions on these services, such as enabling, disabling, or
78 requesting restart, can be performed using \fBsvcadm\fR(1M). The services'
79 status can be queried using the \fBsvcs\fR(1) command.
82 These are separate services rather than instances of the same service so that
83 other services can properly express any dependencies. In particular, here are
84 some guidelines about which service/instance should be depended on for which
90 For a service that uses \fBsendmail\fR to send mail, an optional dependency on
91 the service \fBsvc:/network/sendmail-client\fR might be in order.
97 For a service that needs to receive mail in general, but does not depend on
98 \fBsendmail\fR being the particular SMTP receiver, a dependency on the service
99 \fBsvc:/network/smtp\fR might be in order.
105 For a service that needs to interact with sendmail in particular, such as a
106 \fBMilter\fR, a dependency on the instance \fBsvc:/network/smtp:sendmail\fR
111 For the last two, note the difference, as the latter has the \fB":sendmail"\fR
112 instance specification, whereas the former does not, thus representing the more
114 .SS "Enabling Access to Remote Clients"
116 On an unmodified system, access to \fBsendmail\fR by remote clients is enabled
117 and disabled through the service management facility (see \fBsmf\fR(5)). In
118 particular, remote access is determined by the value of the \fBlocal_only\fR
123 svc:/network/smtp:sendmail/config/local_only = true
129 A setting of \fBtrue\fR, as above, disallows remote access; \fBfalse\fR allows
130 remote access. The default value is \fBtrue\fR.
133 The following example shows the sequence of SMF commands used to enable
134 \fBsendmail\fR to allow access to remote systems:
138 # \fBsvccfg -s svc:/network/smtp:sendmail setprop config/local_only = false\fR
139 # \fBsvcadm refresh svc:/network/smtp:sendmail\fR
140 # \fBsvcadm restart svc:/network/smtp:sendmail\fR
147 See \fBsvcadm\fR(1M) and \fBsvccfg\fR(1M).
150 Note, however, on a system where any of the \fBsendmail\fR(4) files have been
151 customized, setting this property might not have the intended effect. See
152 \fBsendmail\fR(4) for details.
153 .SS "Automated Rebuilding of Configuration Files"
155 See \fBsendmail\fR(4) for details on which service properties can be set to
156 automate (re)building of configuration files when the service is started.
157 .SS "Restricting Host Access"
159 \fBsendmail\fR uses TCP Wrappers to restrict access to hosts. It uses the
160 service name of \fBsendmail\fR for \fBhosts_access()\fR. For more information
161 on TCP Wrappers, see \fBtcpd\fR(1M) and \fBhosts_access\fR(4) in the
162 \fBSUNWtcpd\fR package. \fBtcpd\fR(1M) and \fBhosts_access\fR(4) are not part
163 of the Solaris man pages.
164 .SS "Startup Options"
166 The \fB/etc/default/sendmail\fR file stores startup options for \fBsendmail\fR
167 so that the options are not removed when a host is upgraded. See also
168 \fBsendmail\fR(4) for details on which service properties can be set to
169 automate (re)building of configuration files when the service is started.
172 You can use the following variables in the \fB/etc/default/sendmail\fR startup
177 \fBCLIENTOPTIONS=\fIstring\fR\fR
181 Selects additional options to be used with the client daemon, which looks in
182 the client-only queue (\fB/var/spool/clientmqueue\fR) and acts as a client
183 queue runner. No syntax checking is done, so be careful when making changes to
190 \fBCLIENTQUEUEINTERVAL=\fI#\fR\fR
194 Similar to the \fBQUEUEINTERVAL\fR option, \fBCLIENTQUEUEINTERVAL\fR sets the
195 time interval for mail queue runs. However, the \fBCLIENTQUEUEINTERVAL\fR
196 option controls the functions of the client daemon, instead of the functions of
197 the master daemon. Typically, the master daemon is able to deliver all messages
198 to the SMTP port. However, if the message load is too high or the master daemon
199 is not running, then messages go into the client-only queue,
200 \fB/var/spool/clientmqueue\fR. The client daemon, which checks in the
201 client-only queue, then acts as a client queue processor.
207 \fBETRN_HOSTS=\fIstring\fR\fR
211 Enables an SMTP client and server to interact immediately without waiting for
212 the queue run intervals, which are periodic. The server can immediately deliver
213 the portion of its queue that goes to the specified hosts. For more
214 information, refer to the \fBetrn\fR(1M) man page.
224 Selects the mode to start \fBsendmail\fR with. Use the \fB-bd\fR option or
231 \fBOPTIONS=\fIstring\fR\fR
235 Selects additional options to be used with the master daemon. No syntax
236 checking is done, so be careful when making changes to this variable.
242 \fBQUEUEINTERVAL=\fI#\fR\fR
246 Sets the interval for mail queue runs on the master daemon. \fI#\fR can be a
247 positive integer that is followed by either \fBs\fR for seconds, \fBm\fR for
248 minutes, \fBh\fR for hours, \fBd\fR for days, or \fBw\fR for weeks. The syntax
249 is checked before \fBsendmail\fR is started. If the interval is negative or if
250 the entry does not end with an appropriate letter, the interval is ignored and
251 \fBsendmail\fR starts with a queue interval of 15 minutes.
261 Enables one persistent queue runner that sleeps between queue run intervals,
262 instead of a new queue runner for each queue run interval. You can set this
263 option to \fBp\fR, which is the only setting available. Otherwise, this option
267 .SS "Mail Filter API"
269 \fBsendmail\fR supports a mail filter API called "milter". For more
270 information, see \fB/usr/include/libmilter/README\fR and http://www.milter.org
273 The following options are supported:
281 Uses \fBsubmit.cf\fR even if the operation mode does not indicate an initial
292 Uses \fBsendmail.cf\fR even if the operation mode indicates an initial mail
303 Goes into \fBARPANET\fR mode. All input lines must end with a RETURN-LINEFEED,
304 and all messages are generated with a RETURN-LINEFEED at the end. Also, the
305 \fBFrom:\fR and \fBSender:\fR fields are examined for the name of the sender.
315 Runs as a daemon in the background, waiting for incoming SMTP connections.
325 Runs as a daemon in the foreground, waiting for incoming SMTP connections.
335 Initializes the \fBaliases\fR(4) database. Root must own \fIand\fR have
336 exclusive write permission to the \fB/etc/mail/aliases*\fR files for successful
347 Runs as a daemon (like \fB-bd\fR) but accepts only loopback SMTP connections.
357 Delivers mail in the usual way (default).
367 Prints a summary of the mail queues.
377 Prints the number of entries in the queues. This option is only available with
378 shared memory support.
388 Uses the SMTP protocol as described in RFC 2821. This flag implies all the
389 operations of the \fB-ba\fR flag that are compatible with \fBSMTP\fR.
399 Runs in address test mode. This mode reads addresses and shows the steps in
400 parsing; it is used for debugging configuration tables.
410 Verifies names only. Does not try to collect or deliver a message. Verify mode
411 is normally used for validating users or mailing lists.
417 \fB\fB-B\fR \fItype\fR\fR
421 Indicates body \fItype\fR (\fB7BIT\fR or \fB8BITMIME\fR).
427 \fB\fB-C\fR \fIfile\fR\fR
431 Uses alternate configuration file.
437 \fB\fB-D\fR \fIlogfile\fR\fR
441 Send debugging output to the indicated log file instead of \fBstdout\fR.
447 \fB\fB-d\fR \fIX\fR\fR
451 Sets debugging value to \fIX\fR.
457 \fB\fB-f\fR \fIname\fR\fR
461 Sets the name of the "from" person (that is, the sender of the mail).
467 \fB\fB-F\fR \fIfullname\fR\fR
471 Sets the full name of the sender.
481 When accepting messages by way of the command line, indicates that they are for
482 relay (gateway) submission. When this flag is set, \fBsendmail\fR might
483 complain about syntactically invalid messages, for example, unqualified host
484 names, rather than fixing them. \fBsendmail\fR does not do any canonicalization
491 \fB\fB-h\fR \fIN\fR\fR
495 Sets the hop count to \fIN\fR. The hop count is incremented every time the mail
496 is processed. When it reaches a limit, the mail is returned with an error
497 message, the victim of an aliasing loop.
503 \fB\fB-L\fR \fItag\fR\fR
507 Sets the identifier used in \fBsyslog\fR messages to the supplied \fItag\fR.
513 \fB\fB-M\fR\fIxvalue\fR\fR
517 Sets macro \fIx\fR to the specified \fIvalue\fR.
527 Does not do aliasing.
533 \fB\fB-N\fR \fInotifications\fR\fR
537 Tags all addresses being sent as wanting the indicated \fInotifications\fR,
538 which consists of the word "NEVER" or a comma-separated list of "SUCCESS",
539 "FAILURE", and "DELAY" for successful delivery, failure and a message that is
540 stuck in a queue somewhere. The default is "FAILURE,DELAY".
546 \fB\fB-o\fR\fIxvalue\fR\fR
550 Sets option \fIx\fR to the specified \fIvalue\fR. \fBProcessing\fR
551 \fBOptions\fR are described below.
557 \fB\fB-O\fR\fIoption=value\fR\fR
561 Sets \fIoption\fR to the specified \fIvalue\fR (for long from names).
562 \fBProcessing\fR \fBOptions\fR are described below.
568 \fB\fB-p\fR \fIprotocol\fR\fR
572 Sets the sending protocol. The \fIprotocol\fR field can be in form
573 \fIprotocol\fR\fB:\fR\fIhost\fR to set both the sending protocol and the
574 sending host. For example: \fB-pUUCP:uunet\fR sets the sending \fIprotocol\fR
575 to \fBUUCP\fR and the sending host to \fBuunet\fR. Some existing programs use
576 \fB-oM\fR to set the \fIr\fR and \fIs\fR macros; this is equivalent to using
583 \fB\fB-q\fR[\fItime\fR]\fR
587 Processes saved messages in the queue at given intervals. If \fItime\fR is
588 omitted, processes the queue once. \fItime\fR is given as a tagged number,
589 where \fIs\fR is seconds, \fIm\fR is minutes, \fIh\fR is hours, \fId\fR is
590 days, and \fIw\fR is weeks. For example, \fB-q1h30m\fR or \fB-q90m\fR would
591 both set the timeout to one hour thirty minutes.
593 By default, sendmail runs in the background. This option can be used safely
600 \fB\fB-qp[\fR\fItime\fR\fB-]\fR\fR
604 Similar to \fB-q\fR[\fItime\fR], except that instead of periodically forking a
605 child to process the queue, \fBsendmail\fR forks a single persistent child for
606 each queue that alternates between processing the queue and sleeping. The sleep
607 time (\fItime\fR) is specified as the argument; it defaults to \fB1\fR second.
608 The process always sleeps at least \fB5\fR seconds if the queue was empty in
609 the previous queue run.
619 Processes saved messages in the queue once and does not \fBfork\fR(2), but runs
626 \fB\fB-qG\fR \fIname\fR\fR
630 Processes jobs in queue group called \fIname\fR only.
636 \fB\fB-q[!]I\fR \fIsubstr\fR\fR
640 Limits processed jobs to those containing \fIsubstr\fR as a substring of the
641 queue \fBID\fR or not when \fB!\fR is specified.
647 \fB\fB-q[!]Q\fR \fIsubstr\fR\fR
651 Limits processed jobs to those quarantined jobs containing \fIsubstr\fR as a
652 substring of the quarantine \fIreason\fR or not when \fB!\fR is specified.
658 \fB\fB-q[!]R\fR \fIsubstr\fR\fR
662 Limits processed jobs to those containing \fIsubstr\fR as a substring of one of
663 the recipients or not when \fB!\fR is specified.
669 \fB\fB-q[!]S\fR \fIsubstr\fR\fR
673 Limits processed jobs to those containing \fIsubstr\fR as a substring of the
674 sender or not when \fB!\fR is specified.
680 \fB\fB-Q\fR[\fIreason\fR]\fR
684 Quarantines a normal queue item with the given reason or unquarantines a
685 quarantined queue item if no reason is given. This should only be used with
686 some sort of item matching as described above.
692 \fB\fB-r\fR \fIname\fR\fR
696 An alternate and obsolete form of the \fB-f\fR flag.
702 \fB\fB-R\fR \fIret\fR\fR
706 Identifies the information you want returned if the message bounces. \fIret\fR
707 can be \fBHDRS\fR for headers only or \fBFULL\fR for headers plus body.
717 Reads message for recipients. \fBTo:\fR,\fBCc:\fR, and \fBBcc:\fR lines are
718 scanned for people to send to. The \fBBcc:\fR line is deleted before
719 transmission. Any addresses in the argument list is suppressed. The
720 \fBNoRecipientAction\fR Processing Option can be used to change the behavior
721 when no legal recipients are included in the message.
731 Goes into verbose mode. Alias expansions are announced, and so forth.
737 \fB\fB-V\fR \fIenvid\fR\fR
741 The indicated \fIenvid\fR is passed with the envelope of the message and
742 returned if the message bounces.
748 \fB\fB-X\fR \fIlogfile\fR\fR
752 Logs all traffic in and out of \fBsendmail\fR in the indicated \fIlogfile\fR
753 for debugging mailer problems. This produces a lot of data very quickly and
754 should be used sparingly.
757 .SS "Processing Options"
759 There are a number of "random" options that can be set from a configuration
760 file. Options are represented by a single character or by multiple character
761 names. The syntax for the single character names of is:
772 This sets option \fIx\fR to be \fIvalue\fR. Depending on the option,
773 \fIvalue\fR may be a string, an integer, a boolean (with legal values \fBt\fR,
774 \fBT\fR, \fBf\fR, or \fBF\fR; the default is \fBTRUE\fR), or a time interval.
777 The multiple character or long names use this syntax:
781 \fBO\fR \fILongname=argument\fR
788 This sets the option \fILongname\fR to be \fIargument\fR. The long names are
789 beneficial because they are easier to interpret than the single character
793 Not all processing options have single character names associated with them. In
794 the list below, the multiple character name is presented first followed by the
795 single character syntax enclosed in parentheses.
799 \fB\fBAliasFile (A\fR\fIfile\fR\fB)\fR\fR
803 Specifies possible alias files.
809 \fB\fBAliasWait (a\fR \fIN\fR\fB)\fR\fR
813 If set, waits up to \fIN\fR minutes for an "@:@" entry to exist in the
814 \fBaliases\fR(4) database before starting up. If it does not appear in \fIN\fR
815 minutes, issues a warning. Defaults to 10 minutes.
821 \fB\fBAllowBogusHELO\fR\fR
825 Allows a \fBHELO SMTP\fR command that does not include a host name. By default
826 this option is disabled.
832 \fB\fBBadRcptThrottle=\fR\fIN\fR\fR
836 If set and more than the specified number of recipients in a single \fBSMTP\fR
837 envelope are rejected, sleeps for one second after each rejected RCPT command.
843 \fB\fBBlankSub (B\fR\fIc\fR\fB)\fR\fR
847 Sets the blank substitution character to \fIc\fR. Unquoted spaces in addresses
848 are replaced by this character. Defaults to SPACE (that is, no change is made).
854 \fB\fBCACertFile\fR\fR
858 File containing one CA cert.
864 \fB\fBCACertPath\fR\fR
868 Path to directory with certs of CAs.
874 \fB\fBCheckAliases (n)\fR\fR
878 Validates the RHS of aliases when rebuilding the \fBaliases\fR(4) database.
884 \fB\fBCheckpointInterval (C\fR\fIN\fR\fB)\fR\fR
888 Checkpoints the queue every \fIN\fR (default \fB10\fR) addresses sent. If your
889 system crashes during delivery to a large list, this prevents retransmission to
890 any but the last \fIN\fR recipients.
896 \fB\fBClassFactor (z\fR\fIfact\fR\fB)\fR\fR
900 The indicated factor \fIfact\fR is multiplied by the message class (determined
901 by the \fBPrecedence:\fR field in the user header and the \fBP\fR lines in the
902 configuration file) and subtracted from the priority. Thus, messages with a
903 higher \fBPriority:\fR are favored. Defaults to \fB1800\fR.
909 \fB\fBClientCertFile\fR\fR
913 File containing the cert of the client, that is, this cert is used when
914 \fBsendmail\fR acts as client.
920 \fB\fBClientKeyFile\fR\fR
924 File containing the private key belonging to the client cert.
930 \fB\fBClientPortOptions\fR\fR
934 Sets client \fBSMTP\fR options. The options are key=value pairs. Known keys
939 \fB\fBAddr\fR \fIAddress Mask\fR\fR
943 \fIAddress Mask\fR defaults to \fBINADDR_ANY\fR. The address mask can be a
944 numeric address in dot notation or a network name.
954 Address family (defaults to INET).
964 Size of listen queue (defaults to 10).
974 Name/number of listening port (defaults to \fBsmtp\fR).
980 \fB\fBRcvBufSize\fR\fR
984 The size of the TCP/IP receive buffer.
990 \fB\fBSndBufSize\fR\fR
994 The size of the TCP/IP send buffer.
1000 \fB\fBModifier\fR\fR
1004 Options (flags) for the daemon. Can be:
1012 Uses name of interface for \fBHELO\fR command.
1015 If \fBh\fR is set, the name corresponding to the outgoing interface address
1016 (whether chosen by means of the \fBConnection\fR parameter or the default) is
1017 used for the \fBHELO\fR/\fBEHLO\fR command.
1025 \fB\fBColonOkInAddr\fR\fR
1029 If set, colons are treated as a regular character in addresses. If not set,
1030 they are treated as the introducer to the RFC 822 "group" syntax. This option
1031 is on for version 5 and lower configuration files.
1037 \fB\fBConnectionCacheSize (k\fR\fIN\fR\fB)\fR\fR
1041 The maximum number of open connections that are to be cached at a time. The
1042 default is \fB1\fR. This delays closing the current connection until either
1043 this invocation of \fBsendmail\fR needs to connect to another host or it
1044 terminates. Setting it to \fB0\fR defaults to the old behavior, that is,
1045 connections are closed immediately.
1051 \fB\fBConnectionCacheTimeout (K\fR\fItimeout\fR\fB)\fR\fR
1055 The maximum amount of time a cached connection is permitted to idle without
1056 activity. If this time is exceeded, the connection is immediately closed. This
1057 value should be small (on the order of ten minutes). Before \fBsendmail\fR uses
1058 a cached connection, it always sends a \fBNOOP\fR (no operation) command to
1059 check the connection. If the \fBNOOP\fR command fails, it reopens the
1060 connection. This keeps your end from failing if the other end times out. The
1061 point of this option is to be a good network neighbor and avoid using up
1062 excessive resources on the other end. The default is five minutes.
1068 \fB\fBConnectionRateThrottle\fR\fR
1072 The maximum number of connections permitted per second. After this many
1073 connections are accepted, further connections are delayed. If not set or <= 0,
1080 \fB\fBConnectionRateWindowSize\fR\fR
1084 Define the length of the interval for which the number of incoming connections
1085 is maintained. The default is 60 seconds.
1091 \fB\fBControlSocketName\fR\fR
1095 Name of the control socket for daemon management. A running \fBsendmail\fR
1096 daemon can be controlled through this Unix domain socket. Available commands
1097 are: \fBhelp\fR, \fBrestart\fR, \fBshutdown\fR, and \fBstatus\fR. The
1098 \fBstatus\fR command returns the current number of daemon children, the free
1099 disk space (in blocks) of the queue directory, and the load average of the
1100 machine expressed as an integer. If not set, no control socket is available.
1101 For the sake of security, this Unix domain socket must be in a directory which
1102 is accessible only by root; \fB/var/spool/mqueue/.smcontrol\fR is recommended
1103 for the socket name.
1113 File containing certificate revocation status, useful for X.509v3
1120 \fB\fBDaemonPortOptions (O\fR\fIoptions\fR\fB)\fR\fR
1124 Sets server SMTP options. The options are \fIkey=value\fR pairs. Known keys
1133 User-definable name for the daemon (defaults to "\fBDaemon#\fR"). Used for
1134 error messages and logging.
1144 Address mask (defaults \fBINADDR_ANY)\fR.
1146 The address mask may be a numeric address in dot notation or a network name.
1156 Address family (defaults to \fBINET).\fR
1162 \fB\fBInputMailFilters\fR\fR
1166 List of input mail filters for the daemon.
1176 Size of listen queue (defaults to \fB10\fR).
1182 \fB\fBModifier\fR\fR
1186 Options (flags) for the daemon; can be a sequence (without any delimiters) of:
1194 Requires authentication.
1204 Binds to interface through which mail has been received.
1214 Performs hostname canonification (\fB\&.cf\fR).
1224 Requires fully qualified hostname (\fB\&.cf\fR).
1234 Uses name of interface for \fBHELO\fR command.
1244 Allows unqualified addresses (\fB\&.cf\fR).
1254 Does not perform hostname canonification.
1264 Disallows \fBETRN\fR (see \fBRFC\fR 2476).
1276 User-definable name for the daemon (defaults to \fBDaemon#\fR). Used for error
1277 messages and logging.
1287 Name/number of listening port (defaults to \fBsmtp\fR).
1293 \fB\fBReceiveSize\fR\fR
1297 The size of the TCP/IP receive buffer.
1303 \fB\fBSendSize\fR\fR
1307 The size of the TCP/IP send buffer.
1313 \fB\fBchildren\fR\fR
1317 Maximum number of children per daemon. See \fBMaxDaemonChildren\fR.
1323 \fB\fBDeliveryMode\fR\fR
1327 Delivery mode per daemon. See \fBDeliveryMode\fR.
1333 \fB\fBrefuseLA\fR\fR
1337 \fBRefuseLA\fR per daemon.
1347 \fBDelayLA\fR per daemon.
1357 \fBQueueLA\fR per daemon.
1360 \fBsendmail\fR listens on a new socket for each occurrence of the
1361 \fBDaemonPortOptions\fR option in a configuration file.
1367 \fB\fBDataFileBufferSize\fR\fR
1371 Sets the threshold, in bytes, before a memory-bases queue data file becomes
1372 disk-based. The default is 4096 bytes.
1378 \fB\fBDeadLetterDrop\fR\fR
1382 Defines the location of the system-wide dead.letter file, formerly hard-coded
1383 to \fB/var/tmp/dead.letter\fR. If this option is not set (the default),
1384 \fBsendmail\fR does not attempt to save to a system-wide \fBdead.letter\fR file
1385 in the event it cannot bounce the mail to the user or postmaster. Instead, it
1386 renames the \fBqf\fR file as it has in the past when the \fBdead.letter\fR file
1387 could not be opened.
1393 \fB\fBDefaultCharSet\fR\fR
1397 Sets the default character set to use when converting unlabeled 8 bit input to
1404 \fB\fBDefaultUser (g\fR\fIgid\fR\fB) or (u\fR\fIuid\fR\fB)\fR\fR
1408 Sets the default group ID for mailers to run in to \fIgid\fR or set the default
1409 userid for mailers to \fIuid\fR. Defaults to \fB1\fR. The value can also be
1410 given as a symbolic group or user name.
1416 \fB\fBDelayLA=\fR\fILA\fR\fR
1420 When the system load average exceeds \fILA\fR, \fBsendmail\fR sleeps for one
1421 second on most SMTP commands and before accepting connections.
1427 \fB\fBDeliverByMin=\fR\fItime\fR\fR
1431 Sets minimum time for \fBDeliver By SMTP Service Extension\fR (RFC 2852). If
1432 \fB0\fR, no time is listed, if less than \fB0\fR, the extension is not offered,
1433 if greater than \fB0\fR, it is listed as minimum time for the \fBEHLO\fR
1434 keyword \fBDELIVERBY\fR.
1440 \fB\fBDeliveryMode (d\fR\fIx\fR\fB)\fR\fR
1444 Delivers in mode \fIx\fR. Legal modes are:
1452 Delivers interactively (synchronously).
1462 Delivers in background (asynchronously).
1472 Deferred mode. Database lookups are deferred until the actual queue run.
1482 Just queues the message (delivers during queue run).
1485 Defaults to \fBb\fR if no option is specified, \fBi\fR if it is specified but
1486 given no argument (that is, \fBOd\fR is equivalent to \fBOdi\fR).
1492 \fB\fBDHParameters\fR\fR
1496 File containing the DH parameters.
1502 \fB\fBDialDelay\fR\fR
1506 If a connection fails, waits this many seconds and tries again. Zero means "do
1513 \fB\fBDontBlameSendmail\fR\fR
1517 If set, overrides the file safety checks. This compromises system security and
1518 should not be used. See http://www.sendmail.org/tips/DontBlameSendmail.html for
1525 \fB\fBDontExpandCnames\fR\fR
1529 If set, $[ ... $] lookups that do DNS-based lookups do not expand CNAME
1536 \fB\fBDontInitGroups\fR\fR
1540 If set, the \fBinitgroups\fR(3C) routine is never invoked. If you set this,
1541 agents run on behalf of users only have their primary (\fB/etc/passwd\fR) group
1548 \fB\fBDontProbeInterfaces\fR\fR
1552 If set, \fBsendmail\fR does not insert the names and addresses of any local
1553 interfaces into the \fB$=w class\fR. If set, you must also include support for
1554 these addresses, otherwise mail to addresses in this list bounces with a
1555 configuration error.
1561 \fB\fBDontPruneRoutes (R)\fR\fR
1565 If set, does not prune route-addr syntax addresses to the minimum possible.
1571 \fB\fBDoubleBounceAddress\fR\fR
1575 If an error occurs when sending an error message, sends that "double bounce"
1576 error message to this address.
1582 \fB\fBEightBitMode (8)\fR\fR
1586 Uses 8-bit data handling. This option requires one of the following keys. The
1587 key can selected by using just the first character, but using the full word is
1596 Does any necessary conversion of \fB8BITMIME\fR to 7-bit.
1606 Passes unlabeled 8-bit input through as is.
1616 Rejects unlabeled 8-bit input.
1624 \fB\fBErrorHeader (E\fR\fIfile/message\fR\fB)\fR\fR
1628 Appends error messages with the indicated message. If it begins with a slash,
1629 it is assumed to be the pathname of a file containing a message (this is the
1630 recommended setting). Otherwise, it is a literal message. The error file might
1631 contain the name, email address, and/or phone number of a local postmaster who
1632 could provide assistance to end users. If the option is missing or \fINULL\fR,
1633 or if it names a file which does not exist or which is not readable, no message
1640 \fB\fBErrorMode (e\fR\fIx\fR\fB)\fR\fR
1644 Disposes of errors using mode \fIx\fR. The values for \fIx\fR are:
1652 Mails back errors and gives \fB0\fR exit status always.
1672 Prints error messages (default).
1682 No messages, just gives exit status.
1692 Writes back errors (mail if user not logged in).
1700 \fB\fBFallbackMXhost (V\fR\fIfallbackhost\fR\fB)\fR\fR
1704 If specified, the \fIfallbackhost\fR acts like a very low priority MX on every
1705 host. This is intended to be used by sites with poor network connectivity.
1711 \fB\fBFallBackSmartHost\fR\fR
1715 If specified, the \fIfallBackSmartHost\fR is used in a last-ditch effort for
1716 each host. This is intended to be used by sites with "fake internal DNS". That
1717 is, a company whose DNS accurately reflects the world inside that company's
1718 domain but not outside.
1724 \fB\fBFastSplit\fR\fR
1728 If set to a value greater than zero (the default is one), it suppresses the MX
1729 lookups on addresses when they are initially sorted, that is, for the first
1730 delivery attempt. This usually results in faster envelope splitting unless the
1731 MX records are readily available in a local DNS cache. To enforce initial
1732 sorting based on MX records set \fBFastSplit\fR to zero. If the mail is
1733 submitted directly from the command line, then the value also limits the number
1734 of processes to deliver the envelopes; if more envelopes are created they are
1735 only queued up and must be taken care of by a queue run. Since the default
1736 submission method is by way of SMTP (either from a MUA or by way of the Message
1737 Submission Program [MSP]), the value of \fBFastSplit\fR is seldom used to limit
1738 the number of processes to deliver the envelopes.
1744 \fB\fBForkEachJob (Y)\fR\fR
1748 If set, delivers each job that is run from the queue in a separate process. Use
1749 this option if you are short of memory, since the default tends to consume
1750 considerable amounts of memory while the queue is being processed.
1756 \fB\fBForwardPath (J\fR\fIpath\fR\fB)\fR\fR
1760 Sets the path for searching for users' \fB\&.forward\fR files. The default is
1761 \fB$z/.forward\fR. Some sites that use the automounter may prefer to change
1762 this to \fB/var/forward/$u\fR to search a file with the same name as the user
1763 in a system directory. It can also be set to a sequence of paths separated by
1764 colons; \fBsendmail\fR stops at the first file it can successfully and safely
1765 open. For example, \fB/var/forward/$u:$z/.forward\fR searches first in
1766 \fB/var/forward/\fR \fIusername\fR and then in
1767 \fB~\fR\fIusername\fR\fB/.forward\fR (but only if the first file does not
1768 exist). Refer to the NOTES section for more information.
1774 \fB\fBHeloName=\fIname\fR\fR\fR
1778 Sets the name to be used for \fBHELO\fR/\fBEHLO\fR (instead of \fB$j\fR).
1784 \fB\fBHelpFile (H\fR\fIfile\fR\fB)\fR\fR
1788 Specifies the help file for SMTP.
1794 \fB\fBHoldExpensive (c)\fR\fR
1798 If an outgoing mailer is marked as being expensive, does not connect
1805 \fB\fBHostsFile\fR\fR
1809 Sets the file to use when doing "file" type access of host names.
1815 \fB\fBHostStatusDirectory\fR\fR
1819 If set, host status is kept on disk between \fBsendmail\fR runs in the named
1820 directory tree. If a full path is not used, then the path is interpreted
1821 relative to the queue directory.
1827 \fB\fBIgnoreDots (i)\fR\fR
1831 Ignores dots in incoming messages. This is always disabled (that is, dots are
1832 always accepted) when reading \fBSMTP\fR mail.
1838 \fB\fBLogLevel (L\fR\fIn\fR\fB)\fR\fR
1842 Sets the default log level to \fIn\fR. Defaults to \fB9\fR.
1848 \fB\fB(M\fR\fIx\|value\fR\fB)\fR\fR
1852 Sets the macro \fIx\fR to \fIvalue\fR. This is intended only for use from the
1859 \fB\fBMailboxDatabase\fR\fR
1863 Type of lookup to find information about local mail boxes, defaults to \fBpw\fR
1864 which uses \fBgetpwnam\fR(3C). Other types can be introduced by adding them to
1865 the source code, see \fBlibsm/mbdb.c\fR for details.
1871 \fB\fBMatchGECOS (G)\fR\fR
1875 Tries to match recipient names using the GECOS field. This allows for mail to
1876 be delivered using names defined in the GECOS field in \fB/etc/passwd\fR as
1877 well as the login name.
1883 \fB\fBMaxDaemonChildren\fR\fR
1887 The maximum number of children the daemon permits. After this number,
1888 connections are rejected. If not set or <=0, there is no limit.
1894 \fB\fBMaxHopCount (h\fR\fIN\fR\fB)\fR\fR
1898 The maximum hop count. Messages that have been processed more than \fIN\fR
1899 times are assumed to be in a loop and are rejected. Defaults to \fB25\fR.
1905 \fB\fBMaxMessageSize\fR\fR
1909 The maximum size of messages that are accepted (in bytes).
1915 \fB\fBMaxMimeHeaderLength=\fR\fIM\fR\fB[/\fR\fIN\fR\fB]\fR\fR
1919 Sets the maximum length of certain MIME header field values to \fIM\fR
1920 characters. For some of these headers which take parameters, the maximum length
1921 of each parameter is set to \fIN\fR if specified. If \fB/\fR\fIN\fR is not
1922 specified, one half of \fIM\fR is used. By default, these values are \fB0\fR,
1923 meaning no checks are done.
1929 \fB\fBMaxNOOPCommands=\fR\fIN\fR\fR
1933 Overrides the default of 20 for the number of useless commands.
1939 \fB\fBMaxQueueChildren=\fR\fIN\fR\fR
1943 When set, this limits the number of concurrent queue runner processes to
1944 \fIN\fR. This helps to control the amount of system resources used when
1945 processing the queue. When there are multiple queue groups defined and the
1946 total number of queue runners for these queue groups would exceed
1947 \fBMaxQueueChildren\fR then the queue groups are not all run concurrently. That
1948 is, some portion of the queue groups run concurrently such that
1949 \fBMaxQueueChildren\fR is not be exceeded, while the remaining queue groups are
1950 run later (in round robin order). See \fBMaxRunnersPerQueue\fR.
1956 \fB\fBMaxQueueRunSize\fR\fR
1960 If set, limits the maximum size of any given queue run to this number of
1961 entries. This stops reading the queue directory after this number of entries is
1962 reached; job priority is not used. If not set, there is no limit.
1968 \fB\fBMaxRunnersPerQueue=\fR\fIN\fR\fR
1972 This sets the default maximum number of queue runners for queue groups. Up to
1973 \fIN\fR queue runners work in parallel on a queue group's messages. This is
1974 useful where the processing of a message in the queue might delay the
1975 processing of subsequent messages. Such a delay can be the result of
1976 non-erroneous situations such as a low bandwidth connection. The can be
1977 overridden on a per queue group basis by setting the \fBRunners\fR option. The
1978 default is \fB1\fR when not set.
1984 \fB\fBMeToo (M)\fR\fR
1988 Sends to me too, even if I am in an alias expansion.
1994 \fB\fBMaxRecipientsPerMessage\fR\fR
1998 If set, allows no more than the specified number of recipients in an SMTP
1999 envelope. Further recipients receive a 452 error code and are deferred for the
2000 next delivery attempt.
2006 \fB\fBMinFreeBlocks (b\fR\fIN/M\fR\fB)\fR\fR
2010 Insists on at least \fIN\fR blocks free on the file system that holds the queue
2011 files before accepting email by way of SMTP. If there is insufficient space,
2012 \fBsendmail\fR gives a \fB452\fR response to the \fBMAIL\fR command. This
2013 invites the sender to try again later. The optional \fIM\fR is a maximum
2014 message size advertised in the \fBESMTP\fR \fBEHLO\fR response. It is currently
2021 \fB\fBMinQueueAge\fR\fR
2025 Specifies the amount of time a job must sit in the queue between queue runs.
2026 This allows you to set the queue run interval low for better responsiveness
2027 without trying all jobs in each run. The default value is 0.
2033 \fB\fBMustQuoteChars\fR\fR
2037 Specifies the characters to be quoted in a full name phrase. \fB&,;:\e()[]\fR
2038 are quoted automatically.
2044 \fB\fBNiceQueueRun\fR\fR
2048 Specifies the priority of queue runners. See \fBnice\fR(1).
2054 \fB\fBNoRecipientAction\fR\fR
2058 Sets action if there are no legal recipient files in the message. The legal
2063 \fB\fBadd-apparently-to\fR\fR
2067 Adds an \fBApparently-to:\fR header with all the known recipients (which may
2068 expose blind recipients).
2078 Adds an empty \fBBcc:\fR header.
2088 Adds a \fBTo:\fR header with all the known recipients (which may expose blind
2095 \fB\fBadd-to-undisclosed\fR\fR
2099 Adds a \fBTo: undisclosed-recipients:\fR header.
2109 Does nothing, that is, leaves the message as it is.
2117 \fB\fBOldStyleHeaders (o)\fR\fR
2121 Assumes that the headers may be in old format, that is, spaces delimit names.
2122 This actually turns on an adaptive algorithm: if any recipient address contains
2123 a comma, parenthesis, or angle bracket, it is assumed that commas already
2124 exist. If this flag is not on, only commas delimit names. Headers are always
2125 output with commas between the names.
2131 \fB\fBOperatorChars or $o\fR\fR
2135 Defines the list of characters that can be used to separate the components of
2136 an address into tokens.
2146 Specifies the filename of the \fBpid\fR file. The default is
2147 \fB/var/run/sendmail.pid\fR. The filename is macro-expanded before it is
2148 opened, and unlinked when \fBsendmail\fR exits.
2154 \fB\fBPostmasterCopy (P\fR\fIpostmaster\fR\fB)\fR\fR
2158 If set, copies of error messages are sent to the named \fIpostmaster\fR. Only
2159 the header of the failed message is sent. Since most errors are user problems,
2160 this is probably not a good idea on large sites, and arguably contains all
2161 sorts of privacy violations, but it seems to be popular with certain operating
2168 \fB\fBPrivacyOptions (p\fR\fIopt,opt,...\fR\fB)\fR\fR
2172 Sets privacy options. Privacy is really a misnomer; many of these options are
2173 just a way of insisting on stricter adherence to the SMTP protocol.
2175 The \fBgoaway\fR pseudo-flag sets all flags except \fBnoreceipts\fR,
2176 \fBrestrictmailq\fR, \fBrestrictqrun\fR, \fBrestrictexpand\fR, \fBnoetrn\fR,
2177 and \fBnobodyreturn\fR. If \fBmailq\fR is restricted, only people in the same
2178 group as the queue directory can print the queue. If queue runs are restricted,
2179 only root and the owner of the queue directory can run the queue. The
2180 \fBrestrict-expand\fR pseudo-flag instructs sendmail to drop privileges when
2181 the -bv option is given by users who are neither root nor the \fBTrustedUser\fR
2182 so users cannot read private aliases, forwards, or \fB:include:\fR files. It
2183 adds the \fBNonRootSafeAddr\fR to the "DontBlame-Sendmail" option to prevent
2184 misleading unsafe address warnings. It also overrides the \fB-v\fR (verbose)
2185 command line option to prevent information leakage. Authentication Warnings add
2186 warnings about various conditions that may indicate attempts to fool the mail
2187 system, such as using an non-standard queue directory.
2189 The options can be selected from:
2193 \fB\fBauthwarnings\fR\fR
2197 Puts \fBX-Authentication-Warning:\fR headers in messages.
2207 Disallows essentially all SMTP status queries.
2213 \fB\fBneedexpnhelo\fR\fR
2217 Insists on \fBHELO\fR or \fBEHLO\fR command before \fBEXPN\fR.
2223 \fB\fBneedmailhelo\fR\fR
2227 Insists on \fBHELO\fR or \fBEHLO\fR command before \fBMAIL\fR.
2233 \fB\fBneedvrfyhelo\fR\fR
2237 Insists on \fBHELO\fR or \fBEHLO\fR command before \fBVRFY\fR.
2243 \fB\fBnoactualrecipient\fR\fR
2247 Do not put an X-Actual-Recipient line in a DNS that reveals the actual account
2248 to which an address is mapped.
2258 Disallows \fBETRN\fR entirely.
2268 Disallows \fBEXPN\fR entirely.
2274 \fB\fBnoreceipts\fR\fR
2278 Prevents return receipts.
2284 \fB\fBnobodyreturn\fR\fR
2288 Does not return the body of a message with DSNs.
2298 Disallows \fBVRFY\fR entirely.
2314 \fB\fBre\fR\fB\fR\fBstrictexpand\fR\fR
2318 Restricts \fB-bv\fR and \fB-v\fR command line flags.
2324 \fB\fBrestrictmailq\fR\fR
2328 Restricts \fBmailq\fR command.
2334 \fB\fBrestrictqrun\fR\fR
2338 Restricts \fB-q\fR command line flag.
2346 \fB\fBProcessTitlePrefix \fIstring\fR\fR\fR
2350 Prefixes the process title shown on "\fB/usr/ucb/ps auxww\fR" listings with
2351 \fIstring\fR. The string is macro processed.
2357 \fB\fBQueueDirectory (Q\fR\fIdir\fR\fB)\fR\fR
2361 Uses the named \fIdir\fR as the queue directory.
2367 \fB\fBQueueFactor (q\fR\fIfactor\fR\fB)\fR\fR
2371 Uses \fIfactor\fR as the multiplier in the map function to decide when to just
2372 queue up jobs rather than run them. This value is divided by the difference
2373 between the current load average and the load average limit (\fBx\fR flag) to
2374 determine the maximum message priority to be sent. Defaults to \fB600000\fR.
2380 \fB\fBQueueFileMode=\fR\fImode\fR\fR
2384 Defaults permissions for queue files (octal). If not set, \fBsendmail\fR uses
2385 \fB0600\fR unless its real and effective \fBuid\fR are different in which case
2392 \fB\fBQueueLA (x\fR\fILA\fR\fB)\fR\fR
2396 When the system load average exceeds \fILA\fR, just queues messages (that is,
2397 does not try to send them). Defaults to eight times the number of processors
2398 online when \fBsendmail\fR starts.
2404 \fB\fBQueueSortOrder=\fR\fIalgorithm\fR\fR
2408 Sets the algorithm used for sorting the queue. Only the first character of the
2409 value is used. Legal values are \fBhost\fR (to order by the name of the first
2410 host name of the first recipient), \fBfilename\fR (to order by the name of the
2411 queue file name), \fBtime\fR (to order by the submission/creation time),
2412 \fBrandom\fR (to order randomly), \fBmodification\fR (to order by the
2413 modification time of the \fBqf\fR file (older entries first)), \fBnone\fR (to
2414 not order), and \fBpriority\fR (to order by message priority). Host ordering
2415 makes better use of the connection cache, but may tend to process low priority
2416 messages that go to a single host over high priority messages that go to
2417 several hosts; it probably shouldn't be used on slow network links. Filename
2418 and modification time ordering saves the overhead of reading all of the queued
2419 items before starting the queue run. Creation (submission) time ordering is
2420 almost always a bad idea, since it allows large, bulk mail to go out before
2421 smaller, personal mail, but may have applicability on some hosts with very fast
2422 connections. Random is useful if several queue runners are started by hand
2423 which try to drain the same queue since odds are they are working on different
2424 parts of the queue at the same time. Priority ordering is the default.
2430 \fB\fBQueueTimeout (T\fR\fIrtime\fR\fB/\fR\fIwtime\fR\fB)\fR\fR
2434 Sets the queue timeout to \fIrtime\fR. After this interval, messages that have
2435 not been successfully sent are returned to the sender. Defaults to five days
2436 (\fB5d\fR). The optional \fIwtime\fR is the time after which a warning message
2437 is sent. If it is missing or \fB0\fR, then no warning messages are sent.
2443 \fB\fBRandFile\fR\fR
2447 File containing random data (use prefix \fBfile:\fR) or the name of the UNIX
2448 socket if EGD is used (use prefix \fBegd:\fR). Note that Solaris supports
2449 \fBrandom\fR(7D), so this does not need to be specified.
2455 \fB\fBRecipientFactor (y\fR\fIfact\fR\fB)\fR\fR
2459 The indicated factor \fIfact\fR is added to the priority (thus \fIlowering\fR
2460 the priority of the job) for each recipient, that is, this value penalizes jobs
2461 with large numbers of recipients. Defaults to \fB30000\fR.
2467 \fB\fBRefuseLA (X\fR\fILA\fR\fB)\fR\fR
2471 When the system load average exceeds \fILA\fR, refuses incoming \fBSMTP\fR
2472 connections. Defaults to 12 times the number of processors online when
2473 \fBsendmail\fR starts.
2479 \fB\fBRejectLogInterval\fR\fR
2483 Log interval when refusing connections for this long (default: 3h).
2489 \fB\fBResolverOptions (I)\fR\fR
2499 \fB\fBRetryFactor (Z\fR\fIfact\fR\fB)\fR\fR
2503 The indicated factor \fIfact\fR is added to the priority every time a job is
2504 processed. Thus, each time a job is processed, its priority is decreased by the
2505 indicated value. In most environments this should be positive, since hosts that
2506 are down are all too often down for a long time. Defaults to \fB90000\fR.
2512 \fB\fBRrtImpliesDsn\fR\fR
2516 If this option is set, a \fBReturn-Receipt-To\fR: header causes the request of
2517 a \fBDSN\fR, which is sent to the envelope sender as required by RFC 1891, not
2518 to the address given in the header.
2524 \fB\fBRunAsUser\fR\fR
2528 If set, becomes this user when reading and delivering mail. Intended for use of
2529 firewalls where users do not have accounts.
2535 \fB\fBSafeFileEnvironment\fR\fR
2539 If set, \fBsendmail\fR does a \fBchroot\fR into this directory before writing
2546 \fB\fBSaveFromLine (f)\fR\fR
2550 Saves Unix-style \fBFrom\fR lines at the front of headers. Normally they are
2551 assumed redundant and discarded.
2557 \fB\fBSendMimeErrors (j)\fR\fR
2561 If set, sends error messages in MIME format (see RFC 2045 and RFC 1344 for
2562 details). If disabled, \fBsendmail\fR does not return the DSN keyword in
2563 response to an \fBEHLO\fR and does not do Delivery Status Notification
2564 processing as described in RFC 1891.
2570 \fB\fBServerCertFile\fR\fR
2574 File containing the cert of the server, that is, this cert is used when
2575 \fBsendmail\fR acts as server.
2581 \fB\fBServerKeyFile\fR\fR
2585 File containing the private key belonging to the server cert.
2591 \fB\fBServiceSwitchFile\fR\fR
2595 Defines the path to the service-switch file. Since the service-switch file is
2596 defined in the Solaris operating environment this option is ignored.
2602 \fB\fBSevenBitInput (7)\fR\fR
2606 Strips input to seven bits for compatibility with old systems. This should not
2613 \fB\fBSharedMemoryKey\fR\fR
2617 Specifies key to use for shared memory segment. If not set (or \fB0\fR), shared
2618 memory is not be used. If this option is set, \fBsendmail\fR can share some
2619 data between different instances. For example, the number of entries in a queue
2620 directory or the available space in a file system. This allows for more
2621 efficient program execution, since only one process needs to update the data
2622 instead of each individual process gathering the data each time it is required.
2628 \fB\fBSharedMemoryKeyFile=\fR\fIfile\fR\fR
2632 If \fBSharedMemoryKeyFile\fR is set to \fB-1\fR, the automatically selected
2633 shared memory key will be stored in the specified file.
2639 \fB\fBSingleLineFromHeader\fR\fR
2643 If set, \fBFrom:\fR lines that have embedded newlines are unwrapped onto one
2650 \fB\fBSingleThreadDelivery\fR\fR
2654 If this option and the \fBHostStatusDirectory\fR option are both set, uses
2655 single thread deliveries to other hosts.
2661 \fB\fBSmtpGreetingMessage or $e\fR\fR
2665 Specifies the initial SMTP greeting message.
2671 \fB\fBSoftBounce\fR\fR
2675 If set, issue temporary errors (\fB4xy\fR) instead of permanent errors
2676 (\fB5xy\fR). This can be useful during testing of a new configuration to avoid
2677 erroneous bouncing of mail.
2683 \fB\fBStatusFile (S\fR\fIfile\fR\fB)\fR\fR
2687 Logs statistics in the named \fIfile\fR. By default, this is
2688 \fB/etc/mail/sendmail.st\fR. As root, you must \fBtouch\fR(1) this file to
2689 enable \fBmailstats\fR(1).
2695 \fB\fBSuperSafe (s)\fR\fR
2699 This option can be set to \fBTrue\fR, \fBFalse\fR, \fBInteractive\fR, or
2700 \fBPostMilter\fR. If set to \fBTrue\fR, \fBsendmail\fR is set to super-safe
2701 when running things, that is, always instantiate the queue file, even if you
2702 are going to attempt immediate delivery. \fBsendmail\fR always instantiates the
2703 queue file before returning control to the client under any circumstances. This
2704 should really always be set to \fBTrue\fR. The \fBInteractive\fR value has been
2705 introduced in \fB8.12\fR and can be used together with \fBDeliveryMode=i\fR. It
2706 skips some synchronization calls which are effectively doubled in the code
2707 execution path for this mode. If set to \fBPostMilter\fR, \fBsendmail\fR defers
2708 synchronizing the queue file until any milters have signaled acceptance of the
2709 message. \fBPostMilter\fR is useful only when \fBsendmail\fR is running as an
2710 SMTP server; in all other situations it acts the same as True.
2716 \fB\fBTempFileMode (F\fR\fImode\fR\fB)\fR\fR
2720 Specifies the file mode for queue files.
2726 \fB\fBTimeout (r\fR\fItimeouts\fR\fB)\fR\fR
2730 Timeout reads after time interval. The \fItimeouts\fR argument is a list of
2731 \fIkeyword=value\fR pairs. All but \fIcommand\fR apply to client \fBSMTP\fR.
2732 For backward compatibility, a timeout with no \fIkeyword\fR= part is set all of
2733 the longer values. The recognized timeouts and their default values, and their
2734 minimum values specified in RFC 1123 section 5.3.2 are:
2738 \fB\fBaconnect\fR\fR
2742 all connections for a single delivery attempt [0, unspecified]
2752 command read [1h, 5m]
2762 initial connect [0, unspecified]
2772 complete control socket transaction [2m, none]
2778 \fB\fBdatablock\fR\fR
2782 data block read [1h, 3m]
2788 \fB\fBdatafinal\fR\fR
2792 reply to final \fB\&.\fR in data [1h, 10m]
2798 \fB\fBdatainit\fR\fR
2802 reply to \fBDATA\fR command [5m, 2m]
2808 \fB\fBfileopen\fR\fR
2812 file open [60sec, none]
2822 reply to \fBHELO\fR or \fBEHLO\fR command [5m, none]
2828 \fB\fBhoststatus\fR\fR
2832 host retry [30m, unspecified]
2838 \fB\fBiconnect\fR\fR
2842 first attempt to connect to a host [0, unspecified]
2852 \fBIDENT\fR protocol timeout [5s, none]
2862 wait for initial greeting message [5m, 5m]
2872 wait for reply to an LMTP LHLO command [2m, unspecified]
2882 reply to \fBMAIL\fR command [10m, 5m]
2892 reply to \fBNOOP\fR and \fBVERB\fR commands [2m, none]
2898 \fB\fBqueuereturn\fR\fR
2902 undeliverable message returned [5d]
2908 \fB\fBqueuewarn\fR\fR
2912 deferred warning [4h]
2922 reply to \fBQUIT\fR command [2m, none]
2932 reply to \fBRCPT\fR command [1h, 5m]
2938 \fB\fBresolver.retrans\fR\fR
2942 Resolver's retransmission time interval (in seconds) [varies]. Sets both
2943 \fBTimeout.resolver.retrans.first\fR and \fBTimeout.resolver.retrans.normal\fR.
2949 \fB\fBresolver.retrans.first\fR\fR
2953 Resolver's retransmission time interval (in seconds) for the first attempt to
2954 deliver a message [varies].
2960 \fB\fBresolver.retrans.normal\fR\fR
2964 Resolver's retransmission time interval (in seconds) for all look-ups except
2965 the first delivery attempt [varies].
2971 \fB\fBresolver.retry\fR\fR
2975 Number of times to retransmit a resolver query [varies]. Sets both
2976 \fBTimeout.resolver.retry.first\fR and \fBTimeout.resolver.retry.normal\fR.
2982 \fB\fBresolver.retry.first\fR\fR
2986 Number of times to retransmit a resolver query for the first attempt to deliver
2993 \fB\fBresolver.retry.normal\fR\fR
2997 Number of times to retransmit a resolver query for all look-ups except the
2998 first delivery attempt [varies].
3008 reply to \fBRSET\fR command [5m, none]
3014 \fB\fBstarttls\fR\fR
3018 response to an \fBSMTP STARTTLS\fR command [1h]
3026 \fB\fBTimeZoneSpec (t\fR\fItzinfo\fR\fB)\fR\fR
3030 Sets the local time zone info to \fItzinfo\fR, for example, "PST8PDT".
3031 Actually, if this is not set, the \fBTZ\fR environment variable is cleared (so
3032 the system default is used); if set but null, the user's \fBTZ\fR variable is
3033 used, and if set and non-null, the \fBTZ\fR variable is set to this value.
3039 \fB\fBTLSSrvOptions\fR\fR
3043 If this option is '\fBV\fR', then no client verification is performed,that is,
3044 the server does not ask for a certificate.
3050 \fB\fBTrustedUser\fR\fR
3054 The user parameter can be a user name (looked up in the passwd map) or a
3055 numeric user id. Trusted user for file ownership and starting the daemon. If
3056 set, generated alias databases and the control socket (if configured) are
3057 automatically owned by this user.
3063 \fB\fBTryNullMXList (w)\fR\fR
3067 If you are the "best" (that is, lowest preference) \fBMX\fR for a given host,
3068 you should normally detect this situation and treat that condition specially,
3069 by forwarding the mail to a \fBUUCP\fR feed, treating it as local, or whatever.
3070 However, in some cases (such as Internet firewalls) you may want to try to
3071 connect directly to that host as though it had no \fBMX\fR records at all.
3072 Setting this option causes \fBsendmail\fR to try this. The downside is that
3073 errors in your configuration are likely to be diagnosed as "host unknown" or
3074 "message timed out" instead of something more meaningful. This option is
3081 \fB\fBUnixFromLine or $l\fR\fR
3085 The "From " line used when sending to files or programs.
3091 \fB\fBUnsafeGroupWrites\fR\fR
3095 If set, group-writable :include: and .forward files are considered "unsafe",
3096 that is, programs and files cannot be directly referenced from such files.
3102 \fB\fBUseErrorsTo (l)\fR\fR
3106 If there is an \fBErrors-To\fR: header, sends error messages to the addresses
3107 listed there. They normally go to the envelope sender. Use of this option
3108 causes \fBsendmail\fR to violate \fBRFC\fR 1123. This option is not recommended
3119 Uses as mail submission program, that is, allows group writable queue files if
3120 the group is the same as that of a set-group-id \fBsendmail\fR binary.
3126 \fB\fBUserDatabaseSpec (U)\fR\fR
3130 Defines the name and location of the file containing User Database information.
3136 \fB\fBVerbose (v)\fR\fR
3140 Runs in verbose mode. If this is set, \fBsendmail\fR adjusts the
3141 \fBHoldExpensive\fR and \fBDeliveryMode\fR options so that all mail is
3142 delivered completely in a single job so that you can see the entire delivery
3143 process. The \fBVerbose\fR option should \fBnever\fR be set in the
3144 configuration file; it is intended for command line use only.
3150 \fB\fBXscriptFileBufferSize\fR\fR
3154 Sets the threshold, in bytes, before a memory-bases queue transcript file
3155 becomes disk-based. The default is 4096 bytes.
3160 If the first character of the user name is a vertical bar, the rest of the user
3161 name is used as the name of a program to pipe the mail to. It may be necessary
3162 to quote the name of the user to keep \fBsendmail\fR from suppressing the
3163 blanks from between arguments.
3166 If invoked as \fBnewaliases\fR, \fBsendmail\fR rebuilds the alias database, so
3167 long as the \fB/etc/mail/aliases*\fR files are owned by root \fIand\fR root has
3168 exclusive write permission. If invoked as \fBmailq\fR, \fBsendmail\fR prints
3169 the contents of the mail queue.
3177 address of an intended recipient of the message being sent.
3182 See \fBlargefile\fR(5) for the description of the behavior of \fBsendmail\fR
3183 when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
3186 \fBsendmail\fR returns an exit status describing what it did. The codes are
3187 defined in \fB/usr/include/sysexits.h\fR.
3195 Successful completion on all addresses.
3201 \fB\fBEX_NOUSER\fR\fR
3205 User name not recognized.
3211 \fB\fBEX_UNAVAILABLE\fR\fR
3215 Catchall. Necessary resources were not available.
3221 \fB\fBEX_SYNTAX\fR\fR
3225 Syntax error in address.
3231 \fB\fBEX_SOFTWARE\fR\fR
3235 Internal software error, including bad arguments.
3241 \fB\fBEX_OSERR\fR\fR
3245 Temporary operating system error, such as "cannot fork".
3251 \fB\fBEX_NOHOST\fR\fR
3255 Host name not recognized.
3261 \fB\fBEX_TEMPFAIL\fR\fR
3265 Message could not be sent immediately, but was queued.
3268 .SH ENVIRONMENT VARIABLES
3270 No environment variables are used. However, sendmail's start-up script, invoked
3271 by \fBsvcadm\fR(1M), reads \fB/etc/default/sendmail\fR. In this file, if the
3272 variable \fBETRN_HOSTS\fR is set, the start-up script parses this variable and
3273 invokes \fBetrn\fR(1M) appropriately. \fBETRN_HOSTS\fR should be of the form:
3277 "s1:c1.1,c1.2 s2:c2.1 s3:c3.1,c3.2,c3.3"
3284 That is, white-space separated groups of \fIserver:client\fR where \fIclient\fR
3285 can be one or more comma-separated names. The \fI:client\fR part is optional.
3286 \fIserver\fR is the name of the server to prod; a mail queue run is requested
3287 for each \fIclient\fR name. This is comparable to running:
3291 /usr/lib/sendmail -qR \fIclient\fR
3298 on the host \fIserver\fR.
3302 \fB\fBdead.letter\fR\fR
3312 \fB\fB/etc/default/sendmail\fR\fR
3316 Contains default settings. You can override some of the settings by command
3323 \fB\fB/etc/mail/aliases\fR\fR
3327 Mail aliases file (ASCII)
3333 \fB\fB/etc/mail/aliases.db\fR\fR
3337 Database of mail aliases (binary)
3343 \fB\fB/etc/mail/aliases.dir\fR\fR
3347 Database of mail aliases (binary)
3353 \fB\fB/etc/mail/aliases.pag\fR\fR
3357 Database of mail aliases (binary)
3363 \fB\fB/etc/mail/sendmail.cf\fR\fR
3367 Defines environment for \fBsendmail\fR
3373 \fB\fB/etc/mail/submit.cf\fR\fR
3377 Defines environment for MSP
3383 \fB\fB/etc/mail/trusted-users\fR\fR
3387 Lists users that are "trusted", that is, able to set their envelope from
3388 address using \fB-f\fR without generating a warning message. Note that this
3389 file is consulted by the default \fBsendmail.cf\fR, but not by the default
3390 \fBsubmit.cf\fR, in which the line referring to \fB/etc/mail/trusted-users\fR
3391 is commented out. See \fBsendmail\fR(4) for instructions on making changes to
3392 \fBsubmit.cf\fR and \fBsendmail.cf\fR.
3398 \fB\fB/var/spool/clientmqueue/*\fR\fR
3402 Temporary files and queued mail
3408 \fB\fB/var/spool/mqueue/*\fR\fR
3412 Temporary files and queued mail
3418 \fB\fB~/.forward\fR\fR
3422 List of recipients for forwarding messages
3428 \fB\fB/usr/include/libmilter/README\fR\fR
3432 Describes the steps needed to compile and run a filter
3437 \fBsvcs\fR(1), \fBbiff\fR(1B), \fBmail\fR(1), \fBmailq\fR(1), \fBmailx\fR(1),
3438 \fBnice\fR(1), \fBcheck-hostname\fR(1M), \fBcheck-permissions\fR(1M),
3439 \fBetrn\fR(1M), \fBnewaliases\fR(1M), \fBsvcadm\fR(1M), \fBsvccfg\fR(1M),
3440 \fBfork\fR(2), \fBgetpwnam\fR(3C), \fBgetusershell\fR(3C),
3441 \fBresolver\fR(3RESOLV), \fBaliases\fR(4), \fBhosts\fR(4), \fBsendmail\fR(4),
3442 \fBshells\fR(4), \fBattributes\fR(5), \fBlargefile\fR(5), \fBsmf\fR(5),
3446 \fBtcpd\fR(1M), \fBhosts_access\fR(4) in the \fBSUNWtcpd\fR package.
3449 \fBRFC\fR 2821 \fISimple Mail Transfer Protocol\fR, John Klensin, April 2001.
3452 \fBRFC\fR 2822 \fIInternet Message Format\fR, Pete Resnick, April 2001.
3455 \fIsendmail, Third Edition\fR, Bryan Costales with Eric Allman\fB\fR, O'Reilly
3456 & Associates, Inc., 2003.
3459 http://www.sendmail.org
3462 http://www.milter.org
3465 The \fBsendmail\fR program requires a fully qualified host name when starting.
3466 A script has been included to help verify if the host name is defined properly
3467 (see \fBcheck-hostname\fR(1M)).
3470 The permissions and the ownership of several directories have been changed in
3471 order to increase security. In particular, access to \fB/etc/mail\fR and
3472 \fB/var/spool/mqueue\fR has been restricted.
3475 Security restrictions have been placed users using \fB\&.forward\fR files to
3476 pipe mail to a program or redirect mail to a file. The default shell (as listed
3477 in \fB/etc/passwd\fR) of these users must be listed in \fB/etc/shells\fR. This
3478 restriction does not affect mail that is being redirected to another alias.
3481 Additional restrictions have been put in place on \fB\&.forward\fR and
3482 \fB:include:\fR files. These files and the directory structure that they are
3483 placed in cannot be group- or world-writable. See \fBcheck-permissions\fR(1M).
3486 If you have interfaces that map to domains that have MX records that point to
3487 non-local destinations, you might need to enable the \fBDontProbeInterfaces\fR
3488 option to enable delivery to those destinations. In its default startup
3489 behavior, \fBsendmail\fR probes each interface and adds an interface's \fBIP\fR
3490 addresses, as well as any domains that those addresses map to, to its list of
3491 domains that are considered local. For domains thus added, being on the list of
3492 local domains is equivalent to having a 0-preference MX record, with
3493 \fBlocalhost\fR as the MX value. If this is not the result you want, enable
3494 \fBDontProbeInterfaces\fR.