Sorry Qmail, it’s over

Since the dawn of time (even before switching from RedHat to Debian ~6 years ago) I’ve used the Qmail MTA, with a whole pile of other crud piled on top (like vpopmail to handle virtual users, and some Perl to hook up to SpamAssassin and ClamAV).
It worked (in the loosest sense), but had loads of issues.

Most of the parts had to be compiled from source (especially Qmail, since it needed a bundle of patches) and in the early days, not being used to the Way of the Swirl, even ClamnSpam were compiled from sauce. Down the line, that changed, but there was some manual intervention required to make qmail-scanner-queue.pl pick up on changed version numbers. Despite the avalanche of suck inherent to his setup, it worked…so there wasn’t much impetus to break it.

A while back, I played with Exim but never made any real progress making it work and somehow arrived at Postfix, finding guides to do what I wanted (which I’ve since wikified and mangled for my own uses). The current setup uses Postfix MTA, Amavisd with SpamAssassin and ClamAV and Courier for IMAP, with virtual user details stored in a MySQL database and the mail stored under /var/vmail.

Because Postfix can check if a virtual user is valid at SMTP-time it can reject invalidly addressed mail then, whereas the Qmail setup accepted everything then let Vpopmail bin the invalid ones, generating loads of crud to postmaster@domain.

These images should speak for themselves:

Blocked Mail

Received/Sent mail

There’s just one small annoyance – apparently, there’s no way to get Amavisd-new to include the verbose spam report from SA unless the message is tagged as spam.

4 comments

  1. It’s simple to patch qmail using validrcptto patch to do a very fast CDB lookup to see if the recipient or not. This is probably more efficient than the postfix method if you’re running a busy server since the CDB is pre-compiled before each SMTP check for validity.

    Take a look over at http://qmail.jms1.net to see documentation that is better than what I can write here about it.

    DJB has released qmail to the public domain, netqmail are perhaps the best maintainers for it at the moment as they’re getting the most attention.

    1. Does that work with Vpopmail handling the virtual users?
      To be honest that’s the issue with Qmail, having to patch and compile it versus apt-get update; apt-get upgrade etc. I know it’s simple to do, I just CBA :-p

Comments are closed.