O'Reilly logo

Sendmail, 3rd Edition by Bryan Costales

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Pitfalls

  • 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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required