Mail Clients That Don't Suck

I really want a MUA that doesn’t suck. I suppose “doesn’t suck” is a bit prejudicial. I have a few requirements unrelated to suckitude that have to be met before I’ll even consider a client, one of which being it has to be gtk2-based on X11.

For years I’ve used Thunderbird (and Mozilla Mail before that, and Netscape Mail before that). Like its cousin, Firefox, it tends to be a memory hog. It also has a bunch of annoying bugs: the in-memory message cache gets corrupted often if it has more than one connection to the IMAP server; folder names stay bolded (and they keep the new mail icon) if the mail was marked read from another mail program (e.g., on another machine). It also just tends to do weird things, like after a while spin the throbber forever, and never stop.

Don’t get me wrong, Thunderbird is a great mail client. But I have a machine at work that only has 256MB of RAM. No, upgrading it isn’t feasible right now. What I have to work with is… well, it’s what I have to work with. With both Thunderbird and Firefox open, my system quickly starts swapping, and it kinda sucks waiting 30 seconds just to switch to another window.

I recently installed Claws Mail on my laptop (a renamed Sylpheed-Claws, apparently). I installed an older version, Sylpheed-Claws 2.6.0, on my machine at work, since that appears to be the latest version available on Ubuntu. Both versions seem to be a huge improvement over the last time I tried it (over a year ago, I guess).

Still, though, there are some major annoyances. When I’m sending mail (which seems to take a bit longer than it should), the entire UI blocks and I can’t do anything else (like read other unread mail). That’s retarded. I can’t open the account editor dialog when I have any mail compose windows open. That’s also retarded. It just cries “I was designed poorly”. Fairly often, it’ll get into a weird state while checking for new mail (on IMAP), and it’ll hang there and not let me do anything without restarting. Occasionally it’ll get into a different weird state where it just isn’t able to check for new mail anymore without restarting. Occasionally it’ll get into yet another weird state where it tries to check for new mail, but keeps reading garbage from the server, and sits there in a loop, and needs to be restarted.

There are some functional annoyances, too, like no shortcut (or option at all, as far as I can see) to mark all messages in a particular thread as read. There also doesn’t appear to be a keyboard shortcut to mark all messages in a particular folder as read, but I suppose that’s ok. I also can’t mark a message read without opening it, unless I temporarily hide the preview pane, which is annoying. It doesn’t pay attention to the concept of ‘subscribed’ IMAP folders, so I can’t hide my spam folders (and unhide them once a month when I go through them). I prefer that the client not remember my password for me; however it takes my security paranoia a bit farther than I care about: if I ever get disconnected from the server, it asks for my password again. I’d really prefer that it just keeps my password in memory (mlock() is your friend), and forgets it entirely when I close the app.

Weirdly, even if I set it to convert HTML mail to plain text, it still displays <a> tags as if they were rendered as HTML. So for phisher URLs embedded ‘underneath’ a supposedly-legit-looking URL, you see the legit URL, and clicking it takes you to the phisher’s site. I of course know better than to indiscriminately click on fake bank URLs, but why offer the option of ditching HTML if you’re… not actually ditching HTML?

The PGP support doesn’t let me assign particular recipients to which I want to always sign mail by default (it only lets you do that on a per-account basis). I like to sign messages I send to various OSS-related mailing lists, but not for personal correspondence. (Otherwise, I do like the PGP support here better than Thunderbird/Enigmail.)

On the plus side, it uses memory much more efficiently than Thunderbird does, and it doesn’t seem to randomly lose mail from its cache. I’ve decided I’m going to try to use Claws Mail for a month before really deciding if I can use it permanently, just to give myself time to get used to its quirks (just as I’ve been spending years getting used to Thunderbird’s quirks), but it’s not looking good. Having to restart the client 3-5 times a day because it breaks in some unrecoverable way is not acceptable, though this may be a function of the slightly-older version I’m using on my machine at work. After I use the latest version on my laptop a bit longer, I may go to the trouble of compiling the latest version for my work computer if it seems like it would offer an advantage.

So, anybody else have any Gtk2 MUA recommendations? (I’ll only consider non-Gtk2 clients if they’re perfect.)

Update: I noticed that you can edit keyboard shortcuts, so I was able to add a ctrl+shift+c shortcut for marking all read, and I changed the ‘next unread message’ shortcut from shift+n to just n. I also changed ‘check for new messages’ and ‘check for new messages in all accounts’ to ctrl+t and ctrl+shift+t. This all mirrors Thunderbird, so I feel a little more at home. I’m still missing a ‘mark thread read’ action, though. Also, I found Ubuntu packages for Claws-Mail (on their website, oddly enough), so I can install the latest version on my computer at work and not be basing my opinion on an older version of Sylpheed-Claws.