- If the option letter is one that is unknown to sendmail, it silently accepts the line but doesn't use it. For example, entering
O1
when you really mean OI
causes the unknown option to be defined and the intended option I
to remain undefined. Because no error message is printed, this kind of mistake is difficult to find. Note that, when you are in doubt, a debugging level of -d37.1
can be used to produce warnings (see -d37.1).
- Under 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 in "O A/etc/aliases
" gives to the option "space" the argument A/etc/aliases
. Beginning with V8.7, a space option causes a multicharacter option name to be recognized (see "V8.7 Configuration File Declarations").
- Options are parsed from the top of the sendmail.cf file down. Later declarations of an option 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 of OQ/var/spool/mqueue
later in the file.
- Command-line options always 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
-oA/tmp/aliases
. For security reasons, however, not all command-line options are available to the ordinary user. (See Table 34.2 in "Options that Are Safe" for a list of those that are available.)