Pitfalls

  • When sendmail collects addresses, it discards duplicates. Prior to V8 sendmail, program entries in a ~/.forward file had to be unique; otherwise, an identical entry in another user’s ~/.forward caused one or the other to be ignored. Usually, this is solved by requiring the program to take an argument. If the program won’t accept an argument, add a shell comment inside the quotes.

  • The database forms of the aliases(5) file contain binary integers. As a consequence, those database files cannot be shared via network-mounted filesystems by machines of differing architectures. This has been fixed with V8 sendmail, which can use the Sleepycat db(3) form of database—if you define NEWDB (NEWDB on page 128) when building sendmail.

  • As network-mounted filesystems become increasingly common, the likelihood that a user’s home directory will be temporarily unavailable increases. Prior to V8 sendmail, this problem was not handled well. Instead of queueing mail until a user’s home directory could be accessed, sendmail wrongly assumed that the ~/.forward didn’t exist. This caused mail to be delivered locally when it should have been forwarded to another site. This can be fixed by using the ForwardPath option (ForwardPath on page 1034) of V8 sendmail.

  • Prior to V8 sendmail, there was no way to disable user forwarding via ~/.forward files. At sites with proprietary or confidential information, there was no simple way to prevent local users from arbitrarily forwarding confidential mail offsite. ...

Get sendmail, 4th 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.