sendmail

 




NAME

sendmail - send mail over the internet

SYNOPSIS

/usr/lib/sendmail [ -ba ] [ -bD ] [ -bd ] [ -bi ] [ -bm ] [ -bp ] [ -bs ] [ -bt ] [ -bv ] [ -B type ] [ -C file ] [ -d X ] [ -F fullname ] [ -f name ] [ -G ] [ -h N ] [ -L tag ] [ -M xvalue ] [ -Nnotifications ] [ -n ] [ -Ooption=value ] [ -o xvalue ] [ -p protocol ] [ -q [ time ] ] [ -q Xstring ] [ -R ret ] [ -r name ] [ -t ] [ -U ] [ -V envid ] [ -v ] [ -X logfile ] [ address ... ]

DESCRIPTION

sendmail sends a message to one or more people, routing the message over whatever network 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 deter- mines the network to use based on the syntax and contents of the addresses. Local addresses are looked up in the local aliases(4) file, or in a name service as defined by the nsswitch.conf(4) 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. Normally the sender is not included in alias expansions. For example, if "john" sends to "group", and "group" includes "john" in the expansion, then the message will not be delivered to "john". See the MeToo Processing Option for more information. There are several conditions under which the expected behavior is for the alias database to be either built or rebuilt. It is important to note that 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.

OPTIONS

-ba Go into ARPANET mode. All input lines must end with a RETURN-LINEFEED, and all messages will be generated with a RETURN-LINEFEED at the end. Also, the From: and Sender: fields are examined for the name of the sender. -bd Run as a daemon in the background, waiting for incom- ing SMTP connections. -bD Run as a daemon in the foreground, waiting for incom- ing SMTP connections. -bi Initialize the aliases(4) database. Root must own and have exclusive write permission to the /etc/mail/aliases* files for successful use of this option. -bm Deliver mail in the usual way (default). -bp Print a summary of the mail queue. -bs Use the SMTP protocol as described in RFC 821. This flag implies all the operations of the -ba flag that are compatible with SMTP. -bt Run in address test mode. This mode reads addresses and shows the steps in parsing; it is used for debug- ging configuration tables. -bv Verify names only; do not try to collect or deliver a message. Verify mode is normally used for validating users or mailing lists. -B type Indicate body type (7BIT or 8BITMIME). -C file Use alternate configuration file. -d X Set debugging value to X. -F fullname Set the full name of the sender. -G When accepting messages via the command line, indicate that they are for relay (gateway) submission. When this flag is set, sendmail might complain about syn- tactically invalid messages, for example, unqualified host names, rather than fixing them. sendmail does not do any canonicalization in this mode. -f name Sets the name of the "from" person (that is, the sender of the mail). -h N Set the hop count to N. The hop count is incremented every time the mail is processed. When it reaches a limit, the mail is returned with an error message, the victim of an aliasing loop. -L tag Set the identifier used in syslog messages to the sup- plied tag. -Mxvalue Set macro x to the specified value. -n Do not do aliasing. -N notifications Tag 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 somwhere. The default is "FAILURE,DELAY". -oxvalue Set option x to the specified value. Processing Options are described below. -Ooption=value Set option to the specified value (for long from names). Processing Options are described below. -p protocol Set 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] Process saved messages in the queue at given inter- vals. If time is omitted, process the queue once. time is given as a tagged number, with s being seconds, m being minutes, h being hours, d being days, and w being weeks. For example, -q1h30m or -q90m would both set the timeout to one hour thirty minutes. -q Xstring Run the queue once, limiting the jobs to those matching Xstring. The key letter X can be: I to limit based on queue identifier. R to limit based on recipient. S to limit based on sender. A particular queued job is accepted if one of the corresponding addresses contains the indicated string. -r name An alternate and obsolete form of the -f flag. -R ret Identify the information you want returned if the mes- sage bounces; ret can be "HDRS" for headers only or "FULL" for headers plus body. -t Read message for recipients. To:, Cc:, and Bcc: lines will be scanned for people to send to. The Bcc: line will be deleted before transmission. Any addresses in the argument list will be suppressed. The NoRecipien- tAction Processing Option can be used to change the behaviour when no legal recipients are included in the message. -U Initial (user) submission. This should always be set when called from a user agent such as Mail or exmh and never be set when called by a network delivery agent such as rmail. -v Go into verbose mode. Alias expansions will be 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 Log all traffic in and out of sendmail in the indi- cated logfile for debugging mailer problems. This pro- duces 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 inter- val. 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 asso- ciated with them. In the list below the multiple character name is presented first followed by the single character syntax enclosed in parentheses. AliasFile (Afile) Specify possible alias file(s). AliasWait (a N) If set, wait up to N minutes for an "@:@" entry to exist in the aliases(4) database before starting up. If it does not appear in N minutes, rebuild the data- base (if the AutoRebuildAliases option is also set) or issue a warning. Defaults to 10 minutes. AllowBogusHELO Allow a HELO SMTP command that does not include a host name. By default this option is disabled. AutoRebuildAliases (D) If set, rebuild the /etc/mail/aliases database if necessary and possible. If this option is not set, sendmail will never rebuild the aliases database unless explicitly requested using -bi, or newaliases(1) is invoked. Note that in order for the database to be rebuilt, root must own and have exclusive write permission to the /etc/mail/aliases* files. BlankSub (Bc) Set the blank substitution character to c. Unquoted spaces in addresses are replaced by this character. Defaults to SPACE (that is, no change is made). CheckAliases (n) Validate the RHS of aliases when rebuilding the aliases(4) 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: will be favored. Defaults to 1800. ClientPortOptions Set 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 Use name of interface for HELO command. If h is set, the name corresponding to the out- going 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 intro- ducer 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 will be cached at a time. The default is 1. This delays clos- ing the current connection until either this invoca- tion 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 will be 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 con- nection; if this 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 will be delayed. If not set or <= 0, there is no limit. 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, res- tart, 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 will be avail- able. Note: for the sake of security, this Unix domain socket must be in a directory which is accessi- ble only by root; /var/spool/mqueue/.smcontrol is recommended for the socket name. DaemonPortOptions (Ooptions) Set 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) Listen Size of listen queue (defaults to 10) Modifier Options (flags) for the daemon; can be a sequence (without any delimiters) of: a Require authentication. b Bind to interface through which mail has been received. c Perform hostname canonification (.cf). f Require fully qualified hostname (.cf). h Use name of interface for HELO command. u Allow unqualified addresses (.cf). C Do not perform hostname canonification. E Disallow 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. Note: sendmail will listen on a new socket for each occurrence of the DaemonPortOptions option in a confi- guration file. DataFileBufferSize Set 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 Set the default character set to use when converting unlabeled 8 bit input to MIME. DefaultUser (ggid) or (uuid) Set 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 sym- bolic group or user name. DeliveryMode (dx) Deliver in mode x. Legal modes are: i Deliver interactively (synchronously). b Deliver in background (asynchronously). d Deferred mode - database lookups are deferred until the actual queue run. q Just queue the message (deliver 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). DialDelay If a connection fails, wait this many seconds and try again. Zero means "do not retry". DontBlameSendmail If set, override the file safety checks. This comprom- ises 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 will never be invoked. If you set this, agents run on behalf of users will only have their primary (/etc/passwd) group permissions. DontProbeInterfaces If set, sendmail will 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 will bounce with a configuration error. DontPruneRoutes (R) If set, do not prune route-addr syntax addresses to the minimum possible. DoubleBounceAddress If an error occurs when sending an error message, send that "double bounce" error message to this address. EightBitMode (8) Use 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 Do any necessary conversion of 8BITMIME to 7- bit. pass Pass unlabeled 8-bit input through as is. strict Reject unlabeled 8-bit input. ErrorHeader (Efile/message) Append error messages with the indicated message. If it begins with a slash, it is assumed to be the path- name of a file containing a message (this is the recommended setting). Otherwise, it is a literal mes- sage. 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) Dispose of errors using mode x. The values for x are: e Mail back errors and give 0 exit status always. m Mail back errors. p Print error messages (default). q No messages, just give exit status. w Write 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. ForkEachJob (Y) If set, deliver 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 consid- erable amounts of memory while the queue is being pro- cessed. ForwardPath (Jpath) Set 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 will search 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 infor- mation. HelpFile (Hfile) Specify the help file for SMTP. HoldExpensive (c) If an outgoing mailer is marked as being expensive, don't connect immediately. HostsFile Set 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) Ignore dots in incoming messages. This is always dis- abled (that is, dots are always accepted) when reading SMTP mail. LogLevel (Ln) Set the default log level to n. Defaults to 9. (Mxvalue) Set the macro x to value. This is intended only for use from the command line. MatchGECOS (G) Try 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 will permit. 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 pro- cessed more than N times are assumed to be in a loop and are rejected. Defaults to 25. MaxMessageSize The maximum size of messages that will be 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 will be used. By default, these values are 0, meaning no checks are done. MaxQueueRunSize If set, limit 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. MeToo (M) Send to me too, even if I am in an alias expansion. MaxRecipientsPerMessage If set, allow 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) Insist on at least N blocks free on the file system that holds the queue files before accepting email via 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 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 Characters to be quoted in a full name phrase. &,;:\()[] are quoted automatically. NoRecipientAction Set action if there are no legal recipient files in the message. The legal values are: add-apparently-to Add an Apparently-to: header with all the known recipients (which may expose blind recipients). add-bcc Add an empty Bcc: header. add-to Add a To: header with all the known recipients (which may expose blind recipients). add-to-undisclosed Add a To: undisclosed-recipients: header. none Do nothing, leave the message as it is. OldStyleHeaders (o) Assume that the headers may be in old format, that is, spaces delimit names. This actually turns on an adap- tive algorithm: if any recipient address contains a comma, parenthesis, or angle bracket, it will be assumed that commas already exist. If this flag is not on, only commas delimit names. Headers are always out- put 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 Filename of the pid file. The default is /var/run/sendmail.pid. The filename is macro-expanded before it is opened. PostmasterCopy (Ppostmaster) If set, copies of error messages will be sent to the named postmaster. Only the header of the failed mes- sage 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,...) Set privacy options. Privacy is really a misnomer; many of these are just a way of insisting on stricter adherence to the SMTP protocol. The goaway pseudo-flag sets all flags except res- trictmailq and restrictqrun. 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. authwarnings add warnings about various conditions that may indicate attempts to spoof the mail system, such as using a non-standard queue direc- tory. The options can be selected from: authwarnings Put X-Authentication-Warning: headers in mes- sages. goaway Disallow essentially all SMTP status queries. needexpnhelo Insist on HELO or EHLO command before EXPN. needmailhelo Insist on HELO or EHLO command before MAIL. needvrfyhelo Insist on HELO or EHLO command before VRFY. noetrn Disallow ETRN entirely. noexpn Disallow EXPN entirely. noreceipts Prevent return receipts. nobodyreturn Do not return the body of a message with DSNs. novrfy Disallow VRFY entirely. public Allow open access. restrictmailq Restrict mailq command. restrictqrun Restrict -q command line flag. ProcessTitlePrefix string Prefix the process title shown on "/usr/ucb/ps auxww" listings with string. The string will be macro pro- cessed. QueueDirectory (Qdir) Use the named dir as the queue directory. QueueFactor (qfactor) Use 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 (xflag) to determine the maximum message priority that will be sent. Defaults to 600000. QueueLA (xLA) When the system load average exceeds LA, just queue messages (that is, do not try to send them). Defaults to eight times the number of processors online when sendmail starts. QueueSortOrder Select the queue sort algorithm. The default value is Priority. Other values are Host, Time, or Filename. QueueTimeout (Trtime/wtime) Set the queue timeout to rtime. After this interval, messages that have not been successfully sent will be 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 warn- ing messages are sent. RecipientFactor (yfact) The indicated factor fact is added to the priority (thus lowering the priority of the job) for each reci- pient, that is, this value penalizes jobs with large numbers of recipients. Defaults to 30000. RefuseLA (XLA) When the system load average exceeds LA, refuse incom- ing SMTP connections. Defaults to 12 times the number of processors online when sendmail starts. RemoteMode (>[RemoteMboxHost]) If RemoteMboxHost is specified, then remote-mode is enabled using this host. If RemoteMboxHost is not specified, and if /var/mail is remotely mounted, then remote-mode is enabled using the remote mount host. If RemoteMboxHost is not specified and /var/mail is locally mounted, then remote-mode is disabled. When remote-mode is enabled, all outgoing messages are sent through that server. ResolverOptions (I) Tune 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 will be 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, become this user when reading and delivering mail. Intended for use of firewalls where users do not have accounts. SafeFileEnvironment If set, sendmail will do a chroot into this directory before writing files. SaveFromLine (f) Save Unix-style From lines at the front of headers. Normally they are assumed redundant and discarded. SendMimeErrors (j) If set, send 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 process- ing as described in RFC 1891. ServiceSwitchFile Defines the path to the service-switch file. Since the service-switch file is defined in the Solaris operat- ing environment this option is ignored. SevenBitInput (7) Strip input to seven bits for compatibility with old systems. This should not be necessary. 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, use single thread deliveries to other hosts. SmtpGreetingMessage or $e The initial SMTP greeting message. StatusFile (Sfile) Log statistics in the named file. SuperSafe (s) Be super-safe when running things, that is, always instantiate the queue file, even if you are going to attempt immediate delivery. sendmail always instan- tiates the queue file before returning control to the client under any circumstances. TempFileMode (Fmode) The file mode for queue files. Timeout (rtimeouts) Timeout reads after time interval. The timeouts argu- ment is a list of keyword=value pairs. All but command apply to client SMTP. For backward compatibility, a timeout with no keyword= part will 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: 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, unspeci- fied] ident IDENT protocol timeout [30s, none] initial wait for initial greeting message [5m, 5m] 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 mes- sage [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] TimeZoneSpec (ttzinfo) Set 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. 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, gen- erated alias databases and the control socket (if con- figured) 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 for- warding 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. Set- ting 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 pro- grams. 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, send error messages to the addresses listed there. They normally go to the envelope sender. Use of this option causes sendmail to violate RFC 1123. UserDatabaseSpec (U) Defines the name and location of the file containing User Database information. Verbose (v) Run 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 Set the threshold, in bytes, before a memory-bases queue transcript file becomes disk-based. The default is 4096 bytes. All options can be specified on the command line using the -oflag, but most will cause sendmail to relinquish its setuid permissions. The options that will not cause this are b, d, e, E, i, L, m, o, p, r, s, v, C, and 7. Also con- sidered "safe" is M (define macro) when defining the r or s macros. 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 data- base, 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(5) 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.

FILES

dead.letter unmailable text /etc/mail/aliases mail aliases file (ASCII) /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/sendmail.cf" defines environment for sendmail /var/spool/mqueue/* temp files and queued mail ~/.forward list of recipients for forwarding messages

ATTRIBUTES

See attributes(5) for descriptions of the following attri- butes: ____________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |_____________________________|_____________________________| | Availability | SUNWsndmu | |_____________________________|_____________________________|

SEE ALSO

biff(1B), mail(1), mailx(1), newaliases(1), check- hostname(1M), check-permissions(1M), getusershell(3C), resolver(3RESOLV), aliases(4), hosts(4), shells(4), attri- butes(5), largefile(5) Postel, Jon, Simple Mail Transfer Protocol, RFC 821, Network Information Center, SRI International, Menlo Park, Calif., August 1982. Crocker, Dave, Standard for the Format of ARPA-Internet Text Messages, RFC 822, Network Information Center, SRI Interna- tional, Menlo Park, Calif., August 1982. Costales, Bryan with Eric Allman, sendmail, Second Edition, O'Reilly & Associates, Inc., 1997.

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(1M)). The permissions and the ownership of several directories have been changed in order to increase security. In particu- lar, access to /etc/mail and /var/spool/mqueue has been res- tricted. 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 (seecheck-permissions(1M)). 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 address(es), as well as any domains that those addresses map to, to its list of domains that are con- sidered 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. SunOS 5.8 Last change: 31 May 2000 23