sendmail has a number of options that allow you to
customize the way it performs certain tasks. There are a large number of
these, so we've listed only a few of the more commonly used ones in
the upcoming list.
To configure any of these options, you may either define them in the
m4 configuration file, which is the preferable method,
or you may insert them directly into the sendmail.cf
file. For example, if we wished to have sendmail fork
a new job for each mail message to be delivered, we might add the following
line to our m4 configuration file:
define(‘confSEPARATE_PROC’,‘true’)
The corresponding sendmail.cf entry created is:
O ForkEachJob=true
The following list describes common sendmail m4 options (and
sendmail.cf equivalents):
confMIN_FREE_BLOCKS(MinFreeBlocks)
There are
occasions when a problem might prevent the immediate delivery of mail
messages, causing messages to be queued in the mail spool. If your
mail host processes large volumes of mail, it is possible for the mail
spool to grow to such a size that it fills the filesystem supporting
the spool. To prevent this, sendmail provides this
option to specify the minimum number of free disk blocks that must
exist before a mail message will be accepted. This allows you to
ensure that sendmail never causes your spool
filesystem to be filled (Default: 100).
confME_TOO(MeToo)
When a mail target such as an email alias is expanded, it is sometimes
possible for the sender to appear in the
recipient list. This option determines whether the originators of an
email message will receive a copy if they appear in the expanded
recipient list. Valid values are “true” and
“false” (Default: false).
confMAX_DAEMON_CHILDREN(MaxDaemonChildren)
Whenever sendmail receives an SMTP connection
from a remote host, it spawns a new copy of itself to deal with the
incoming mail message. This way, it is possible for
sendmail to be processing multiple incoming mail messages
simulatanenously. While this is useful, each new copy of
sendmail consumes memory in the host computer. If
an unusually large number of incoming connections are received,
by chance, because of a problem or a malicious attack, it
is possible for sendmail daemons to consume all
system memory. This option provides you with a means of limiting the
maximum number of daemon children that will be spawned. When this
number is reached, new connections are rejected until some of
the existing children have terminated
(Default: undefined).
confSEPARATE_PROC(ForkEachJob)
When processing the mail queue and sending mail messages,
sendmail processes one mail message at a time. When this
option is enabled, sendmail will fork a new copy of
itself for each message to be delivered. This is particularly useful
when there are some mail messages that are stuck in the queue because
of a problem with the target host
(Default: false).
confSMTP_LOGIN_MSG(SmtpGreetingMessage)
Whenever a connection is made to sendmail, a
greeting message is sent. By default, this message contains the hostname,
name of the mail transfer agent, the sendmail version number, the local
version number, and the current date. RFC821 specifies that the first word
of the greeting should be the fully qualified domain name of the host, but
the rest of the greeting can be configured however you please. You can specify
sendmail macros here and they will be expanded when used. The only people
who will see this message are suffering system administrators diagnosing
mail delivery problems or strongly curious people interested in discovering
how your machine is configured. You can relieve some of the tedium of their
task by customizing the welcome message with some witticisms; be nice.
The word “EMSTP” will be inserted between the first and second
words by sendmail, as this is the signal to remote hosts
that we support the ESMTP protocol
(Default: $j Sendmail $v/$Z; $b).