Sendmail: Theory and Practice

Phil Hughes

Issue #16, August 1995

Yes, the answer is there, but the book is more than many people need or want to get into - sort of like reading the National Electrical Code book to find out how to replace a fuse.

  • Author: Frederick M. Avolio & Paul A. Vixie

  • Publisher: Digital Press

  • ISBN: 1-55558-127-7

  • Price: $29.95

  • Reviewer: Phil Hughes

Many of us who have had to configure Sendmail think of it as something similar to fixing the plumbing in our house - it has to be done, we sort of know how to do it and we wish we could ignore it and it would go away. Yes, Sendmail is powerful and, for most systems, necessary, but it is complicated. To make matters worse, you don't have to make changes often enough so that you actually learn how to do it right and remember it.

When Eric Allman's book on Sendmail was published, I got a copy and was immediately intimidated. Eric is the author of Sendmail and his book is thorough - tipping the scales at almost 800 pages. Yes, the answer is there, but the book is more than many people need or want to get into - sort of like reading the National Electrical Code book to find out how to replace a fuse.

If this same thing happened to you, Sendmail: Theory and Practice may be the right answer. In 262 pages Avolio and Vixie address just what the book title says: theory and practice. It takes the fear out of Sendmail configuration by first explaining the practical considerations involved in electronic mail transfer and then goes on to show how to configure Sendmail to accomplish the tasks.

The first 90 pages cover practical information about addressing over networks, including the problems of mixed-type addresses (that is, a combination of a uucp address and domain address). These pages also cover mail user agents, their interface to Sendmail and how aliases work in Sendmail. Or, more correctly, how to use Sendmail aliases to do what you need in a reliable and secure fashion. Again, the emphasis is on practical application.

The next chapter offers the basics of macros and rules. This is presented in a practical and non-threatening manner with an emphasis on what you need rather than a lengthy look at all the capabilities.

The next chapter addresses the IDA Kit extension to Sendmail. It does a good job of showing how the DBM tables of the IDA kit tie into the rules in the sendmail.cf file. While I personally had hoped I didn't need to know this, the book gives enough information to help you understand this without getting bogged down in theory.

Even if you have what looks like a working Sendmail, the chapter on “Maintenance and Administration” will help you feel a lot better about your relationship with Sendmail. After going through all the files related to Sendmail and all the command line options, it looks at things you can check, why you might want to check them, and how to check them. For example, a section on queued mail offers five steps to help identify why mail is remaining in the queue and what to do to get it on its way.

The book ends with a series of appendicies that offer resources or pointers to resources that you need. These include summaries of the options and mailer flags for the sendmail.cf file, sample sendmail.cf files, logging and debugging information, and even the form to be sent in to the InterNIC to register a domain.

The main shortcoming of the book is that it does not address Release 8 of Sendmail. The authors claim that the philosophy of R8 is the same as R5. Certainly the added functionality in R8 is not covered. They may be absolutely right in their decision, however. This book contains plenty to keep you thinking, and adding complications of R8 could have detracted from the book's usability.

If you are afraid of Sendmail but have to deal with it, this is the right book to get. It doesn't tell you everything but it does tell you more than most systems administrators need to know and it is presented in a very practical manner from the point of view of two people who see Sendmail as a tool and have learned to use that tool to accomplish their tasks.