Book Review: The Book of Postfix

Posted by Steve on Mon 27 Jun 2005 at 16:29

I was recently offered the opportunity to review a copy of "The Book of Postfix", published by NoStarch press. This book aims to be complete guide to Postfix whether used by the home user, as a mail relay or virus scanning gateway, or as a company mail server.

Disclaimer

I assume most book reviews, and product reviews published online are "paid", or "bought" - in the sense that the reviewer received the product for free.

However I've never been in that position myself, until now. I recently received an email from a publisher asking me if I would be interested in reviewing two of their books. One of which covered something I knew nothing about, so I didn't feel that I would be a fair reviewer, because I couldn't judge how accurate the coverage was (although I could have treated it as an introduction I didn't feel that was entirely fair).

The other book was the subject of this review, concerning the Postfix mailserver something I'm familiar with - and something that visitors here appear to prefer to Debian's default mailserver - exim.

So after some deliberation I decided that reviewing a book received gratis would be fair, so long as I explained that I'd received the book as a donation.

If you're wary of trusting a review conducted on this basis feel free to stop reading now. If this is something you've accepted in the past from other sites then I hope this introduction hasn't been too long.

(And if you have items which you wish me to review I'll try to do a fair job; but only if it's on a subject I believe I can review fairly and accurately. That's cryptography, computer security, shellcode, mail-servers, webservers, programming, etc).

About The Book

The book describes itself as suitable for both complete beginners and advanced users of the Postfix mailserver. With that in mind it starts out by describing the simplest setup possible for a mailserver: handling mail for a single domain. Once this topic is covered more advanced scenarios are covered.

Each of the four parts of the book begins with a short introduction to each of the following chapters. These summaries are a useful way of looking forward to what is about to occur, and seeing how the grouped chapters relate to each other.

The full table of contents is:

It should be obvious from reading the contents that this book aims to cover a lot of material. But despite this the information is imparted in a very clear, concise, and readable fashion.

The layout of the book itself helps make it easy to read, with clear diagrams where appropriate and useful "tips", "cautions" and "notes" included to clarify things, or provide warnings where appropriate.

There's a lot of information covered in the book which isn't obvious from the content listing too. You really would have to spend a lot of time searching for all the information contained here, and that makes this book a very useful reference volume.

The later chapters build upon the earlier ones in a natural fashion making the later examples simple enough to follow along with, even for a relative newcomer.

Whilst it is possible to dive into a particular example scenario and start working on replicating the setup without reading the preceding chapters this would only be recommended for somebody already familiar with postfix.

The Introductory Material

The introduction material in the early chapters is well written and should be readily accessible even if you're not familiar with the job of a mailserver, and general system administration.

Rather than waste time describing how to install the software from source code at the start of the book this information is relegating to an appendix. This appendix includes coverage of the Debian binary packages, which was a neat touch for me and visitors to this site. Unfortunately the packages mentioned were for the previous stable release, Woody, rather than the recently released Sarge distribution. I'm sure this will be updated in a later edition of the book.

I thought the introductory text was very useful, covering basic host setup such as:

postfix was initially designed to be more secure than the monolithic sendmail. To that end there are several binaries which worth together to form the postfix system.

Each of the these components have a distinct role to play in the processing of mail by postfix. The description of each of these parts, and what they actually do, was very informative and well written. (In the past I can recall looking at all the programs and having no idea how they related to each other).

It might have been nice to see this explanation of how the different processes relate to each other presented slightly earlier in the text, but I didn't feel like the lack of this knowledge was a handicap to understanding the earlier text.

The Examples

Once we get past the introductory material the real meat of the book is the examples, and the discussion that accompanies each one.

The major examples have been listed already in the table of contents. Each one is discussed in depth, and if you're looking to setup something similar to one of the named examples you're in for a real treat.

The discussion of the various options is both detailed and clear to understand. The authors have done a good job choosing their words carefully and explaining why things are done as they are - rather than choosing options and leaving you wondering why.

One of the nice suprises in this book was not just seeing how to handle various jobs, such as setting up mail for a single domain, or a complete filtering system for multiple domains but seeing how to test the setups.

In all of the later examples there are notes on how to make sure things are working correctly, complete with sample logfile entries which show you what failure and success both look like.

It's probably fair to say that the chapter headings don't do the coverage justice. For example chapter 14 covering setting up a mailserver for multiple domains doesn't just explain this once. It first starts with the traditional virtual domain alias handling, then follows up with looking up account details from a MySQL database.

Similarly the various chapters on content filtering cover multiple techniques to combat SPAM, malformed mail. (Including virus filtering)

Conclusion

In summary I like this book a lot. If I was to give it a "score" I'd easily give it 4/5.

I find it hard to say anything bad about the book, because it does cover a lot of material to a very high standard, whilst also remaining very readable.

I do think that perhaps the earlier sections could be reworked a little to be more "beginner friendly", to explain DNS briefly when discussing checking MX records for example. That's only a slight criticism.

Presentation-wise the book is clear and readable, but at times I did think there were too many distractions with "tips", "notes", and "cautions". These were all well placed, and well timed. But having more than one on a single page was sometimes distracting.

It would also be nice to see a summery of each setup which is worked through. (Maybe at the end of a chapter, or in a separate appendix). The discussion following each worked example does explain each setting but there isn't a reference copy of the relevant configuration files to examine in isolation. (Just having the contents of the main.cf, master.cf files would be useful)

Details
TitleThe Postfix Book
AuthorsRalf Hildebrandt & Patrick Koetter
PublishierNo Starch Press
ISBN1-59327-001-1
Cover Price$44.95
Availability

This article can be found online at the Debian Administration website at the following bookmarkable URL:

This article is copyright 2005 Steve - please ask for permission to republish or translate.