Same procedure as last year?

Same procedure as every year, James… Or, at least, somehow it seems to me like at least once each year I decide goin’ through the tedious procedure of choosing the mail user agent utilized to handle all my everyday electronic communication needs, including conversion of several hundred megabytes of active mail spool along with a growing address book. This procedure hardly ain’t fun, but sometimes somehow I always get back to a point where I am unhappy with how the current solution does. But, as in some way I always get back to the same piece of software, perhaps this time it is here to stay…

Getting away from Thunderbird…

Mozilla Thunderbird used to be the tool of my choice the last couple of months (for quite a long time, to be precise), and in many respects I really like this software. It is immensely powerful, comes with a rather good set of pre-packaged features including very usable mail filtering solutions, junk control as well as almost unlimited extensibility like most of the other tools of the Mozilla product family. However, there are some major drawbacks I had to deal with, so far:

  • First off, I had to learn that Thunderbird is not that pleasing while being used with slow IMAP servers. Why? Because, as things are, in order to be “fast”, if you delete mail from a folder, Thunderbird just flags it as “deleted” yet doesn’t do an IMAP-“expunge”, thus leaving all the old crap in your inboxes, which is fatal if the IMAP server offered by your provider is likely to get slower and slower while the amount of mails in your boxes is increasing. Unfortunately, I haven’t yet found ways to make Thunderbird actually expunge mails immediately. Especially while talking about the “Trash” functionality, this behaviour indeed is not really desirable.
  • Filtering: In order to keep my IMAP inboxes slim, I tend do move mails to some local folders given they reached a certain age. In Thunderbird, doing something like this automatically is impossible because you can define filters (like “move old”) on a per-account basis but not on a per-folder setting. Not sure whether this really is a feature needed, but given that other tools provide facilities like that, it surely makes one wish for it.
  • Ressource usage: Surely Thunderbird is a powerful tool… but having a memory footprint of around 270 megabytes on my machine simply is way too much for a tool which just has to be up and running all the time without locking up my machine. I can live with Eclipse consuming 550 megabytes of memory as this is the tool I do most of my work with, but having an e-mail client (which merely is considered “infrastructure”) using almost half of this simply is too much.

Next bet: mutt and friends

…indeed, the “and friends” is important… and once again, a reason to not use mutt as my main desktop MUA. Surely mutt is an impressive tool which you will start loving once you have to read mail on a remote server, but it just simply doesn’t fit my working style on a desktop machines. Bottom line, as pointed out earlier: To me, e-mail mainly is about infrastructure, and I don’t want to spend days and weeks optimizing my e-mail system as there just are things more important / interesting than that. Unfortunately, mutt is not the weapon of your choice if you just want to get up and running quickly as it just will unleash its full power in a well-configured environment, including facilities like getmail for fetching remote POP3 mail or postfix to get mail sent out using SMTP. I make massive use of mutt on our company mail server to remotely watch my mail queue, but on a desktop, I want a solution where to easily add / remove a new account, set filters for new mailing list, define processing rules for mail in certain folders, add addresses to my address book and so on, and, most important, I want to be able to make this sort of configuration in a consistent way from within an integrated tool – that’s surely not what messing with a bag of configuration files spread across your $HOME and /etc folder is all about.

finally(): claws-mail

So, in the end, again the weapon of choice is an old friend: claws-mail, formerly known as sylpheed-claws, the bleeding-edge version of the GTK based sylpheed mail user agent. In the end, I sort of consider claws-mail being the very tool to be used if you want to have a slim, powerful and yet configurable mailer: On one side: claws-mail features a visually appealing, very handy user interface which resembles what Thunderbird and that other evil visual MUA provides you with. You do have an integrated address book, a working junk filter solution, extensive filtering configuration (including per-folder aging / filtering rules), out-of-the-box support for MIME and inline PGP/GPG encryption and a bunch of other things that you just might expect a decent MUA to have. On the other side, it supports a certain sort of “open-ness” you might care about: Spam-filtering is done using the bogofilter tool, there is support for maildir(++) folder storage, and claws-mail also allows for using external third-party tools (fetchmail, offlineimap, …) to recieve (and potentially filter) mails from a remote machine. This way, it probably might be used both in “Thunderbird” mode (all-integrated graphical mail client that offers all you might need in a homogenous way) or in “mutt” mode (being a front-end to just a loosely knit collection of tools and components each of them serving a very specific purpose). And, by now, claws-mail also offers a good plugin mechanism, bringing helpful tools like a very well usable RSS reader and a facility for using Perl scripts for mail filtering. And I sort of feel home here again, after all…