No Starch Press sent me a review copy of The Book of Postfix (long ago!) and I was pleasantly surprised to find it ranks among the best technical tutorial books I’ve encountered. Correction: I did miss the SQL database integration section, which is well-covered, in my original review.
The Book of Postfix: State-of-the-Art Message Transport
by Ralf Hildebrandt and Patrick Koetter
No Starch Press, 2005; 464 pp. incl. index
I’ve read about two-thirds of the book straight through, as well as reading over a few topics in later chapters and looking up a few terms of interest in the index.
This is the first No Starch Press book I’ve looked at, so I was interested in the book artifact itself. The book physically is perfect-bound (not a lay-flat binding), on heavier-than-usual opaque white paper. The text is well-edited and well-typeset, with almost no typographical errors or distracting mistakes, with some helpful illustrations but no space wasted on pointless sidebars, chapter recaps, or unneeded screenshots. Examples from shell commands or configuration files are trimmed so as to not waste space. These are all a welcome contrast to some of the fat technical books out there that are sloppily produced. (The text isn’t perfect, of course. A few errata are listed on the authors’ website.)
The writing is straightforward and unobtrusive. I was surprised to find no lengthy reference sections, as I’ve seen in every other book about any mail server. Postfix has a comprehensive free online reference to all configuration parameters, some how-to documents for various tasks, and other miscellaneous documentation. This book doesn’t take the easy road to filling up pages; it doesn’t duplicate any of the online documentation, which I appreciated. Instead it focuses on big-picture concepts and walking the reader through things step by step.
The first four chapters were of minimal usefulness to me personally, because (1) I was already experienced with Unix system administration, including DNS and mail; (2) I had already been using Postfix for several years; and (3) these chapters began by discussing a very simple configuration of Postfix, handling mail for only a single domain. However, these crucial basics were not belabored, being covered in only 35 pages, and anyone without experience in these areas will be greatly helped by the discussion of the system clock, syslog setup, DNS as it relates to mail, and by first trying simple mail setup to verify correct basic functionality.
The next two introductory chapters I found useful, including some lesser-used Postfix command-line tools, and an anatomy of email itself covering transport and message construction. This was a solid discussion that should fill in the gaps of self-taught or part-time mail server administrators.
Most of the remainder of the book uses pairs of chapters to first introduce a new topic, then show how to use it in practice, with examples. The topics are: message transfer restrictions; content filters (built-in and external); mail gateways; SMTP authentication; SSL/TLS; integration with SQL databases, LDAP, and IMAP; security; and tuning. Appendices cover installation (from source, or using Debian or RPM packages), troubleshooting, and some abbreviated reference materials.
Throughout, the authors do a good job of explaining not just what is required for configuration to be allowed by Postfix, but what is the correct practice to satisfy RFCs (e.g. abuse and postmaster addresses required by RFC), or avoid pitfalls down the road (e.g. not specifying fully qualified domain names in the right-hand side of maps, which may break later when myorigin or mydestination configurations change).
In summary, I was pleasantly surprised at the quality of this book and highly recommend it to beginning and intermediate Postfix administrators.
Overall rating: 9/10.