Review of Linux Sendmail Administration

Linux Sendmail Administration
Craig Hunt

Reviewed by Nick Christenson,

December 5, 2001

While sendmail remains the most popular way to get email from one side of the Internet to the other, its configuration and usage is fairly considered one of the most daunting tasks a professional system administrator may face. There are many reasons for this, but in my opinion the three predominant ones are that sendmail has an enormous number of configuration options which must be sifted through to discover how one might make the program behave in the required fashion, that sendmail is one of the oldest utilities in wide use on the Internet and in order to support historical configurations it suffers from having features added to it piecemeal over the years, and that its configuration file format is extremely complex and the procedure by which these are generated (as well as how the software is compiled) are unique among Open Source packages.

Despite its complexity, because sendmail is ubiquitous on Unix systems, a lot has been written both in print and on the Internet about how to make it function properly under many different circumstances. Because of this, one might ask many questions about Craig Hunt's Linux Sendmail Administration in order to determine whether or not it is worth the investment in time and money.

  1. Isn't the Bat Book good enough? The Bat Book, more formally known as sendmail, 2nd edition by Brian Costales, has been the standard reference on sendmail since it's original publication. It's an excellent book that, in my opinion, should be available to every sendmail administrator. However, it has two flaws: (1) It's old. It was last updated in 1997 and only covers up through sendmail version 8.8. As of this writing, the latest sendmail version is 8.12, and enormous changes to the code have occurred in the last few years. Costales has been working on a 3rd edition of the Bat Book, but there is no telling when it will become available. (2) While the Bat Book covers a great deal of information on sendmail configuration files and options, it does not focus on the "right" way to build these configuration files, that is, using the M4 macro language. Too many people have gotten the idea from the Bat Book that editing sendmail rulesets by hand is a good idea, when, in fact, it is almost never the right thing to do.

  2. But aren't explanations of the new features provided in the documentation bundled with sendmail? A great deal of it is, if one looks hard enough, but in the sendmail documentation scattered throughout the sendmail source tree it's not always clear where one should look for the necessary information, and often the explanations are quite terse. A more methodical, thorough, and detailed explanation of the way sendmail works that includes realistic examples could be quite helpful.

  3. Is the book so Linux-specific that it won't help me maintain my (other Unix variant) system? The Short answer is, no. While several Linux specific considerations are mentioned in the book, such as the location of the and associated files, and the use of Linux-specific package utilities, the vast majority of this book is easily extendible to other Unix-based operating systems such as Solaris, FreeBSD, HP-UX, etc.. The reader should not be strongly dissuaded from buying this book for use in a non-Linux environment.

  4. What information is in this book that I might not know? Many of the new features available in sendmail are well described in this book. Just as one example, the author describes how to set up and use the SMTP AUTH and STARTTLS features that have been made available starting with sendmail version 8.11, including how to become your own Certification Authority in order to use self-signed certificates, although I think the author downplays the strong benefits to doing this rather than going with commercial certification. This is the first description of this material I have seen clearly written anywhere. Many other topics are also covered for the first time in book form such as using LDAP with sendmail, sendmail's DontBlameSendmail security options, and hoststat information, just to name a few.

While Linux Sendmail Administration is by no means perfect, there are several points on which I'd be willing to take minor issue with the author, it is very good in accomplishing what it sets out to do, providing an explanation of how to build and configure recent releases of sendmail on Linux systems. It provides this information in a way that is currently more relevant than the venerable Bat Book, and its usefulness is by no means limited to Linux-based systems. At this moment in time, this is the best place for a system administrator to learn the "right" way to configure sendmail, and I believe that all but the most experienced sendmail administrators will find this book valuable.


At this time, Linux Sendmail Administration is the best place to learn how to build and configure sendmail on Linux email servers. The contents of this book are easily adaptable to other Unix flavors. Craig Hunt's emphasis on M4-based configuration and information on recent sendmail versions makes this book useful to all but the most experienced sendmail administrators. I recommend it.

Click here to return to the index of reviews.