Back again (with a book review too)

Back from my last patrol. Now I’m close to being fully qualified. That will be nice to finally achieve.

I had been contacted by a representative of Packt Publishing before I left, who had read my article dealing with some QMail administration issues. They had a new book out, QMail Quickstarter by Kyle Wheeler and were wanting to know if I could review it.

I agreed to do so, with the proviso that it was unlikely they’d be able to get the book to me in time. I was right. :-). However I’ve taken some time to read it and think I can get a decent, if belated, review. Note: The review copy of the book was provided to me free of charge, for those who are concerned about that sort of thing.

The book is a relatively short affair, which bills itself as an easy to follow guide that can get you up and running quickly using QMail. It is certainly true as far as this is concerned. Even with the standard material at the beginning describing the book layout, what QMail is, blah blah blah you can be issuing commands to start the installation by about page 6 or so. After you have QMail installed the author describes how to configure QMail, and goes more in depth on the actual operation of QMail. He also demonstrates his knowledge of the resources available to the QMail community with his sampling of commonly-encountered problems (and solutions) and his descriptions of available patches for QMail. This includes patches to QMail to allow for better filtering when receiving messages over SMTP, patches to provide SPF and DomainKeys support, and recipient validation patches to help prevent “joe-jobs“.

There are, of course, several areas where the book comes up short:

  • The installation and configuration steps are well done overall with a procedure to follow that will lead you to a configured and working qmail installation. However, although several tricky points of concern are addressed (including build fixes for glibc > 2.3.1 and the well-known qmail prohibition on delivering to root), there’s not a lot of detail on what to do if something goes wrong. This is a minor point given that it’s a quickstarter guide and some knowledge of UNIX and Google use needs to be assumed implicitly.
  • Also, no mention is made of using distribution-provided packages. My QMail is the distribution provided one and the book works fine against it. However many distributions will apply patches to the QMail installation and it may be useful for the reader to know if they can use the distribution QMail and if so, to warn them that it may be already patched.
  • Speaking of patches, although they are often referenced, and the author does a very good job of explaining why they are (and are not) useful, he doesn’t go into a ton of detail on how to actually use them. If you follow the directions from the beginning you’ll likely have to recompile QMail at least one time as you’ll have it installed and mostly working before you realize that you want to install a patch.
  • And finally, just as an overall point the author is kind of hit and miss on providing procedures to do some of the neat things he references from about the middle of the book on. For example, he gives instructions on how to authenticate POP3 communications using checkpassword. The very next section describes webmail without so much as an appropriate program to look at. Likewise for DomainKeys (which have examples detailing how to use them) and SPF (which is described, including its weaknesses but without implementation help).

The book however has a lot to recommend it:

  • If you are someone who learns better from diagrams then you will like this book. It includes diagrams on the email flow of a qmail installation, including which portions are root, which portions share the same protection, etc. This diagram in particular makes the entire system much easier to understand, and makes it easy to pick out where to add filter programs (i.e. for virus scanning, user validation) or what you’d need to change/patch to add support for new features.
  • The included diagram/flowchart on virtual domains is also very useful although I don’t use virtual domains.
  • The book is filled with little tips, gotchas, and other notable things that you may miss if you’re not paying attention on your initial read-through (for instance, what happens to mail being delivered to an address with an empty alias file, or the headers qmail-inject uses to guess recipients and senders). I almost had wished they were more obvious but the book is a short read without much fluff so you owe it to yourself to just read through it.
  • The book covers the stuff that needs covered, like config file syntax, command syntax, how to use tcpserver and svscan for those going the whole DJB way, etc. Although the author may not spell out the most useful situations he covers enough between the examples and diagrams that it shouldn’t be hard to add that one feature you want (especially if you already have the program and you just need to place to plug it in).
  • He covers enough material in the book to at least glance on such topics as: .qmail/.forward files, aliases and defined users, QMTP, virtual domains, vpopmail, IMAP, Spam and virus filtering, encryption, mailing lists, logging, log analysis, and optimization techniques.

The final verdict? It depends on what you need. It is $25, which although cheap for a computer book is probably slightly more expensive than its size would have you believe. However if you are new to QMail then you should get this book as you will save enough time overall to be worth the $25. If you are already familiar with QMail and have a working installation then the book could be useful as a reference but you’ll probably be OK with Google and the man pages you already have.

Also of note: kdesvn-build has been updated to version 1.5. If you haven’t already removed kdeaddons from your .kdesvn-buildrc you probably should as it’s gone from SVN. Likewise with kdenonbeta (1.5 has fixed unsermake support to deal with the new layout). Other than that there’s not a lot of major new stuff in the latest release.