Pitfalls
Under very old versions of sendmail (prior to V8.7), accidentally placing a space character between the
O
and the option letter wrongly causes sendmail to silently accept the space character as the option name. For example, the space inO A/etc/aliases
gives to the option “space” the argumentA/etc/aliases
. Beginning with V8.7, a space option causes a multicharacter option name to be recognized (Section 24.3.2).Options are parsed from the top of the sendmail.cf file down. For most options, later declarations supersede earlier declarations. For example, if you try to change the location of the queue directory by placing the line
OQ/mail/spool/mqueue
at the top of your sendmail.cf file, that change is masked (ignored) by the existence ofOQ/var/spool/mqueue
later in the file. Other options, such asAliasFile
, add the new definition to the prior one.For the most part, command-line options supersede the sendmail.cf file options because the command line is parsed after the sendmail.cf file is parsed. One way to change the location of the aliases file (perhaps for testing) is with a command-line argument such as:
-OAliasFile=/tmp/aliases
For security reasons, however, not all command-line options are available to the ordinary user. (See Table 24-2 in Section 24.2.4 for a list of those that are available.)
Get Sendmail, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.