I’ve long been of the opinion that all mail readers suck. Some of them really suck. That’s why I wrote OfflineIMAP, after all.
Today I embarked on my periodic survey of mail readers to see what had changed. Things are encouraging but still not quite good enough. I have IMAP mail on two servers and I read it from four clients. I want to see the same mail on each client, and be able to work offline if I need to, and sync my changes back up later. I also maintain “Saved” folders for messages I want to archive indefinately. I want to see which folders have new messages and which ones have old messages. Finally, I want to be able to navigate entirely with a keyboard for all common functions.
Let’s take a look at how they all stack up.
First, there’s mutt with OfflineIMAP. Mutt by itself is not even worth mentioning; its IMAP support is so slow and buggy that it doesn’t even begin to make the cut. With OfflineIMAP, it’s actually pretty nice. I can easily create a macro to move messages to my Saved folder. I can also create macros to manage the two different e-mail account identities, using the correct one for replies automatically. So far so good. What mutt stinks at is the folder list. It just doesn’t have a good one at all. Also, since OfflineIMAP must be used, the integration is just not as clean as it could be.
Next, there’s the new KMail 3.3. This program has improved vastly recently. What was once a graphical client with more bugs than an entomologist’s lab is now a mostly reliable mail program. It integrates into the KDE or Gnome applet well for new mail notifications. It does everything I want with IMAP (with only one bug relating to non-selectable folders, which I can work around.) However, despite the khotkeys system, it is not possible to reliably script it to move a message to a saved folder or redirect it to my special storage address. Argh.
Then, there’s Mozilla Thunderbird. Another good contender, supports offline reading and all of that. Has nice junk mail features built in too. But its IMAP support is SLOW. When you delete a message, it goes out to the server (unlike KMail, which can cache this action). how do you like deleting 20 messages, having to wait 2 seconds after each press of Delete? Also, it suffers from the same scripting problem as KMail.
So it looks like I’m sticking with mutt+OfflineIMAP for now, but definately keeping a close watch over kmail.
question…mutt & offlineimap sounds good. but how do you send emails in disconnected mode? i assume i can write a fake sendmail thing that will cat it to an ‘outbox’ folder that can be synced with offlineimap over to my server – but how do i get this sent? can i just call ‘sendmail’ on it? i’d love to hear your solution for this…
thanks for offlineimap. it rocks :)
Normally, you just have a normal SMTP server on your machine. It will queue up messages while you’re disconnected. Then in your PPP or network connection scripts, you just run sendmail -q (or equivolent for your mailer) to send the mail out.
— John