Farewell qmail, you’ve served well!

In the fall of 2001 I set up a “general purpose” server (mail, web, database…) that is still in use today. At that time qmail was still a fairly attractive option even though there had already then not been updates from it’s author for about four years. There were no other major players at that time if one didn’t want to venture to the Sendmail realm (which I didn’t). Postfix and exim had major issues at that time while qmail had all the features available though an increasing number were patches written by various skilled programmers other than Dan Bernstein, author of qmail.

Some years passed by with no further updates to qmail, and already around 2004 exodus started from qmail to alternative clients, namely Postfix. And now, in 2008, it has been a decade since the last release (the original release, in fact) of qmail. In the coming months I have the operating system upgrade (to the newly released FreeBSD 7) coming up, and at the same time I’ll move away from qmail. The most likely replacement MTA is Postfix with dovecot. The details are still somewhat fuzzy; instructions to set up exactly what I’m thinking about don’t seem to be available anywhere, so lots of Googling and trial-and-error are to be expected. A how-to document that perhaps comes to closest is “HOWTO: Postfix, Dovecot, Jamm, OpenLDAP, and SASL” by Peter Lacey. But I don’t want to use Jamm. I get hives from using Java-based management tools, so there has to be something better, right? No? Well, I would also like to use MySQL for at least user data storage if not for message storage as well.

If you’re setting up something similar, or have something similar already up and running, I would like to hear about it. I will be posting details and how-to info here as the configuration of the new mail system is progressing.

2 thoughts on “Farewell qmail, you’ve served well!”

  1. Once again, we seem to be on the same boat.

    I wonder if you have installed Postfix already. It would be great to hear about your experience.

    While I have managed to install all other software I need on my server (apache, mysql, tinydns, php…), I will still have to go through the hussle of setting up the mail server.

    After a lot of researching, I am now rather tempted to try Exim. It seems to be a bit more complete, and the documentation is extensive on the Exim web site.

    As for a how-to, I have found one that seems to cover all of the bells and wistles I am planning setup do with Exim:
    http://struction.de/projects/HOWTO_VirtualMail_Exim-MySQL-Spamassassin-ClamAV-Dovecot/

    Let me know if you have had a positive experience with Postfix. I am also switching from qmail, so a lot of things are changing…

    DrTebi

  2. Hello Dr Tebi! I have Postfix running with Dovecot on my development server. Everything is working smoothly. Both Postfix and Dovecot are top-notch software, and both are extremely well maintained and supported by their developers.

    The last component that I’m currently tackling before I put the new system into production is LDAP. For someone without prior X.500 or LDAP experience it is initially rather confusing, partially due to lack of good examples. I finally have the system running with the basic schema, and I have Phamm set up as the management system. The next task is to make sure authentication works from Postfix/Dovecot through LDAP. For that I have a few examples (including the README and Wiki entries for Postfix and Dovecot) so it shouldn’t be too complicated step. I want to be able to have virtual mail domains and virtual mail users, and some kind of management interface than a plain LDAP client.

    The LDAP tools I’m currently using include the following:

    • * Softerra’s excellent LDAP Administrator; it has templates which can be used to automate mail user administration.
    • * phpLDAPadmin – it is to Softerra LDAP Administrator what phpMyAdmin is to SQL Manager for MySQL, in other words it’s the best web-based LDAP client.
    • * Phamm, or “PHP LDAP Virtual Hosting Manager”; it works and it’s maintained but its interface is not much to write home about (the other alternative is Java-based “Jamm“, or “Java Mail Manager”, which hasn’t seen a new version since 2004). Then again, with qmail I’ve been using Olivier Mueller’s php-based oMail-admin, which gets leisurely updated when new developments in PHP, etc. occur (it’s still “PHP4 based”, so breakage with PHP5 is imminent). It’s been working fairly well, but with the entire old mail system I’ve had the growing concern that sooner or later one of its many components will no longer work with a new operating system version, and the maintainer has lost interest leaving the entire setup dead in the water.

    Meanwhile, it’s been great to see how *everything* that qmail/vmailmgr/mailfront was able to do with lots of hacks is very eloquently implemented in Postfix/Dovecot strictly following the RFCs. I have to mention here that Bruce Guenther’s software: vmailmgr, mailfront cvm, etc. have always been exceptionally well written — but as for the mail system components, it doesn’t help no matter how great the add-on modules are if the base, the MTA itself, is arrogantly out of date (“arrogantly”, because of DJ Bernstein’s well known attitude). I still use Bruce’s other software such as bcron which I highly recommend as a replacement for cron.

    I’ll post here more info about the mail system setup. My initial pass on setting it up on the development server wasn’t good for writing a solid documentation because I was in the process of understanding how the different components work together. I made notes, and after the first production system setup I should have a document which I can post here.

    I’ve been also participating in the discussions on the Postfix and Dovecot mailing lists. Lots of really good info there as well as good help when one runs into a snag with the configuration.

Leave a Reply to Ville Walveranta Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.