-
Prior to V8 sendmail , if the list of recipients contained an address that began with any of the prescanned switches, sendmail would wrongly view that recipient as a switch during its prescan phase. For example, mail to joe, bill, -Cool caused sendmail to try to use a file named ool as its configuration file.
-
Command-line switches must precede recipient addresses. Switches that are mixed in with recipient names are treated as recipient addresses.
-
Old versions of sendmail (including IDA and some versions of BSD) would syslog (3) a warning if the old frozen configuration file didn't exist. The V8 and SunOS versions of sendmail no longer check for a frozen configuration file, so nothing is ever logged about this.
-
Prior to V8 sendmail , unknown command-line switches were silently ignored. Therefore, sending mail from a shell script could fail for reasons that were difficult to find. For example, specifying the preliminary hop count wrongly with -j , instead of correctly with -h , caused your presetting of the hop count to be silently ignored.
-
Some old BSD and SunOS versions of sendmail set the default sender's full name from the environment variable NAME even when running as a daemon or when processing the queue. This can lead to the superuser's full name occasionally showing up wrongly as a sender's full name . IDA and V8 sendmail clear the full name in -bd and -q modes but use different methods . To prevent this problem under other versions of sendmail , the env (1) program can be used to clean up the environment passed to sendmail :
# env - /usr/sbin/sendmail -bd -q1h
-
V8 sendmail uses getopt (3) to parse its command-line arguments so that a switch and its argument can have whitespace between them without harm:
-C configfile
But, for bizarre historical reasons, the -d and -q switches differ from all other command-line switches. There can never be space between the -d and its arguments, nor between the -q and its arguments:
-d 4 -q 4
If there is space between them, the argument (here, 4 ) is taken to be a recipient name. This is true for all versions of sendmail .