The Sendmail Options page, provides access to most of the relevantÂ sendmail.cf directives. These options are usually “set and forget” type options. Unless you have a problem with load, or memory, or untimely failed message delivery, you will have little reason to alter these options after first setting up your Sendmail system.
Send outgoing mail via host – This option sets whether outgoing mail will be sent directly or via another mail server. If it is to go through another mail server, it is entered here. If you are not on a permanently attached network (i.e. with a permanent IP and a domain name), then you should relay through the mail server at your ISP, as many mail servers refuse mail from hosts that cannot be resolved. This option edits theÂ Smart Host macro namedÂ S inÂ sendmail.cf. More on this and other common macros can be found in the macros sections of the Administrative Details documentation page at the Sendmail home page.
Forward unqualified usernames to host – If an email is sent by a local user that is unqualified (i.e.Â joe instead ofÂ firstname.lastname@example.org) it will by default attempt to deliver the mail locally (i.e. on the same machine that Sendmail runs on). However, if this is set, mail will be forwarded to the host selected. This is useful if you have a large organization with many Sendmail servers running, but you’d like all local mail to be delivered to a single host. This option edits theÂ R macro, which refers to theÂ Relay (for unqualified domains) configuration.
Forward mail for local users to host – Email that is received from anywhere that is destined for a user on the local host, will be delivered locally, unless this option is set. This allows all mail to be collected on a single host. This option edits theÂ R macro, which refers to theÂ Relay (for unqualified domains) configuration.
Delivery mode – This option controls how messages will be scheduled for delivery. IfÂ Background is selected, Sendmail will deliver messages as soon as possible silently in the background.Â Queue onlyplaces mail into a queue to be delivered upon a manual or periodically scheduled flush of the queue.Â Interactive messages are delivered immediately synchronously.Â Deferred is likeÂ Queue only, except Sendmail will not attempt to resolve hostnames until they queue is flushed (ideal for a sporadic net connections, such as a dialup). This option configures theÂ DeliveryMode directive.
Max load average for sending – This option determines at what load average Sendmail will no longer continue to send messages. If this load average is crossed, Sendmail will queue messages for later delivery. This option configures theÂ QueueLA directive and defaults toÂ 8. If your system is becoming overloaded at times with delivering mail, it may be possible to tune this setting to help ease the load.
Max load average for receiving – This option determines at what load average Sendmail will stop accepting incoming messages via SMTP. This forces other mail servers to queue them for later delivery. While most mail servers will be polite and actually save the refused messages for later delivery, if assurance of mail service is important to your users, it is probably best to avoid refusing mail. This option configures theÂ RefuseLA option, and defaults toÂ 12.
Max child processes – Controls how many child processes Sendmail will spawn in order to handle incoming mail. Limiting this allows you to control, somewhat, the memory footprint of Sendmail. This option configures theÂ MaxDaemonChildren directive and defaults toÂ 12.
Max connections / second – Configures the maximum number of new connections per second that Sendmail will accept. With this option, you may limit the CPU and memory usage of Sendmail on your system, or in high load environments allow Sendmail to receive a larger volume of mail. This option configures theÂ ConnectionRateThrottle directive and defaults toÂ 3.
Min time before retrying send – This sets the minimum amount of time mail will wait in the queue after a failed send attempt, before Sendmail attempts to re-send it. Values can be in seconds (i.e.Â 45s), minutes (30m), hours (2h), days (3d, or weeks (1w). This correlates to theÂ MinQueueAge directive and defaults toÂ 30m.
Maximum queue size – Determines the maximum number of queued jobs Sendmail will process in a single queue run. This correlates to theÂ MaxQueueRunSize directive, and defaults toÂ 1000. This should remain as high as possible to avoid losing jobs that fall late in the queue.
Time before giving up – This is the amount of time that Sendmail will continue to try resending a failed message before giving up and considering it undeliverable. Non-permanent delivery failures can occur for a number of reasons, including network connectivity problems, DNS resolution failure, recipient server is not responding, etc. When this limit is reached, a bounced message will be sent to the sender and the message will be discarded. This option accepts times in the same format as discussed above, for seconds, minutes, hours, days, and weeks. This configures theÂ Timeout.queuereturn directive and defaults toÂ 5d.
Time before sending warning – In the event of a non-permanent delivery failure, as discussed in the previous option, this option configures how long Sendmail will wait before sending a warning to the sender of the message that a problem has occurred. Because these warnings usually resolve themselves shortly (either the network comes back up, DNS resolves again, the recipient server returns to service, etc.) it is often not necessary to trouble the sender with an error message until it begins to appear that a problem might become a permanent failure. This option configures theTimeout.queuewarn directive and defaults toÂ 4h.
Mail queue directory – This sets the location of your mail queue directory where Sendmail stores queued mail. This option correlates to theÂ QueueDirectory, and often defaults toÂ /var/spool/mail, though on some systems this may differ. There is rarely reason to change this.
Send error messages to – In the event of a problem, such as a delivery failure, error messages will be sent to some user on the system. This is usuallyÂ Postmaster, which on many systems is aliased toroot. This option correlates to theÂ PostMasterCopy directive.
User forward files – This option dictates where Sendmail will search for forwarding information for users. This is a colon separated list (much like the shell PATH environment variable). This option allows you to use variables to include certain values, such as username ($u), users home directory ($z), and system hostname ($w). So, for example, if I wanted to search first forÂ /var/forward/username and then inÂ /home/joe/.forward, I could enterÂ /var/forward/$u:$z/.forward. This option configures theÂ ForwardPath directive and usually defaults toÂ $z/.forward.$w:$z/.forward.
Min free disk space – If the amount of free disk space is lower than this value, Sendmail will refuse to accept messages from other systems. Allows one to prevent Sendmail from filling the disk on which the queue resides. This option correlates to theÂ MinFreeBlocks directive, and often defaults toÂ 100.
Max message size – This option sets the maximum size of a message that will be accepted by Sendmail. Any message over this size, either received from a local user or a remote mail server, will be bounced. This option configures theÂ MaxMessageSize directive and defaults to 1000000.
Log level – This option sets the logging behavior of Sendmail. Logging levels 0-10 are, by convention, used forÂ useful information that is probably worth logging on any system. The default logging level isÂ 9and is a good middle ground, wherein Sendmail usually only logs things that an administrator would want to be aware. Higher log levels between 10 and 64 will provide much more information, while levels over 64 are reserved for extremely verbose debugging output. The normal log levels are documented in theÂ The System Log section of theÂ Installation and Operation Guide. This option configures theLogLevel directive.
MIME-encode bounce messages? – This option configures whether Sendmail will encode bounce messages in multi-part MIME format, or as a plain text message. Most mail clients today support MIME encoded messages, but if your client base has problems with this you may turn it off. This correlates to theÂ SendMimeErrors directive and defaults toÂ True. More on MIME can be found inÂ RFC 2045, andRFC 1344.
File security options – In order to avoid cracking attempts, Sendmail checks most of its support files. If these files are in group writable directories, or some other risky configuration, Sendmail will ordinarily refuse to run. This option allows you to turn off this checking in the ways described by the options available. This option configures theÂ DontBlameSendmail directive and defaults toÂ Safe. For obvious reasons, it is strongly suggested that you solve the permissions problem(s) you may have, rather than turning off any of these checks.