I ended up in a discussion about email clients on #debian-devel today. I tend to do that once in a while, and most people don’t understand why I think that all the current email clients are lacking in one way or another. I don’t think my list is too unreasonable; what I want in a client is:
scriptability. A non-scriptable client is totally useless. This has to be on many levels, from “please use out-$YEAR.out-$YEAR-$MONTH as the outbox”, to “please look at what email address this is sent to and use the same address as my reply address”. I also want to be able to customize what the quoting should look like, strip Outlook’s terrible “AW: “ and “SV: “ instead of the regular “Re: “ from as the reply marker from the subject field.
Fairly fast. It doesn’t have to be a speed demon, but I have around 1 million emails, and it needs to be able to handle that.
Good folder support. Given the number of mails I have, I tend to microorganize them a bit. This means I need a way to see what folders contains unread mail and flagged mail
IMAP support. Preferably good, with caching and everything.
And then I have other small things like GPG support, the possibility to change user interfaces. Also, good mailing list support is preferable.
I have found three mail user agents which all covers a couple of the areas well, but none of them covers it all. The three are gnus, mutt and Mozilla Thunderbird.
Gnus has excellent scriptability, is dog slow, has good folder support, but I don’t know about its IMAP support. It covers the rest of the requirements fairly well.
Mutt is fair when it comes to scriptability, is fast, crappy folder support, crappy IMAP support but covers the rest well.
Those are what I think about them. You might disagree and some of them might fit you well, I’m just trying to explain to people why I am going to end up writing my own client – since none of the ones I know do what I want, the way I want them to.