My ideal mail client.

schwern on 2006-05-07T00:26:04

As mentioned in my previous post I need to get a handle on my email. Its too much like work and I avoid doing work so I avoid reading my email.

I like parts of mutt but even simple filtering and foldering rapidly gets complex and there's only so much information a non-GUI can display at once. I like parts of GMail but its too slow and has too many limitations. I like parts of Thunderbird but... well, let's review my wants.

1. Strong anti-spam/virus-backscatter filtering. 2. Easily filter streams of mail (be it a mailing list or mail from a certain source (rt.cpan.org, for example) into folders WITHOUT then my then simply ignoring that folder. 3. Highlight email which are directly interesting to me (CC'd to me, has my name in it, contains certain keywords) without also pulling them out of their normal folder. GMail's labels fit this nicely. 4. Efficient thread deletion. Mutt handles threads well. Mail.app does a poor job. In particular it would be nice to have the ability to kill a thread for all time, not just the mail currently in my inbox. I know I'm not interested in a topic about HP/UX libc bugs, I don't want to have to keep re-deleting the thread as new mail comes in. 5. A fast, customizable interface. 6. Not have to learn a lot of archaic commands to get things done (procmail, I'm looking at you). 7. Reliability. 8. Searchability. 9. Archive, not delete.

GMail does some of this, particularly #2, #3, #7 and a decent job on #1, but I find it falls down on #5 (for one, its slow) and its filtering abilities are limited (for example, I can only filter on certain mail headers). Mutt does #4 and #5 well but #2 and #6 poorly (I can't easily see the state of my other folders like I can in a GUI) and #3 not at all so far as I can see.

I want the storage and reliability of GMail.

I want the labelling system (as opposed to folders) of GMail.

I want a better filtering system then GMail. A GUI for simple filters, such as Thunderbird provides, with a fall back to a more arbitrary, programmatic approach for complicated stuff.

I want the quick thread deleting of mutt.

I want the permenant thread deletion of... well, I don't know of anything which does that.

I want the ability to plug in my own anti-spam system OR have one that's so good it gets me down to less than 10 a day in my inbox.

I want searches as flexible as grepping my inbox while still having the ability to search by headers and labels.

I want the ease of a GUI with the speed of a hotkey-heavy interface such as mutt.

I want the ability to get an overview of the state of my inboxes at a glance, something mutt does not provide.

What do I do about that?


muttng provides mailbox lists

nothingmuch on 2006-05-07T01:16:47

The sidebar patch that was rolled into mutt-ng lets you list the mailboxes with new mail counts.

Gmail & Thunderbird?

sigzero on 2006-05-07T01:26:07

You can configure TB to use Gmail as its "server" for both POP and SMTP.

I think mutt can do most of that

Aristotle on 2006-05-07T05:48:02

Easily filter streams of mail (be it a mailing list or mail from a certain source (rt.cpan.org, for example) into folders WITHOUT then my then simply ignoring that folder.

Dunno if this will do for you, but I have the following contraption in my .muttrc:

mailboxes =Inbox =correspondence =geekery =postponed =spam =work

macro pager c '<change-folder>?<toggle-mailboxes>'
macro index c '<change-folder>?<toggle-mailboxes>'

This registers each of my folders, and then patches the change-folder shortcut so that it will immediately toggle to show the list of registered mailboxes instead of the directory browser. (You can always toggle these two views using the Tab key.)

OK, I lied. What I actually have is this:

source 'cd ~/Mail ; for box in * ; do echo mailboxes =/$box ; done |'

So the mailboxes list is actually autogenerated on launch. Note that the echo includes mutt’s = shortcut for $folder, so this particular line assumes set folder=~/Mail/, but all that’s actually needed is that $folder and the cd there are kept in synch. Oh, and make sure $folder is set ahead of time.

Highlight email which are directly interesting to me (CC’d to me, has my name in it, contains certain keywords) without also pulling them out of their normal folder.

You can do that using color index fg bg pattern in .muttrc, where the pattern syntax allows you to match the kinds of things you mentioned.

I want a MUA written in perl

mr_bean on 2006-05-07T08:52:39

I guess I could write a number of scripts using Mail::Box, or Email, and read my email as YAML files. I wonder how vim would make them look.

No I would just have vim use its mail syntax highlighting.

How kmail Fares

Shlomi Fish on 2006-05-07T09:08:33

kmail is the KDE mail client, which I am using for my mail at home. I really like it, and cannot think of going back to anything else. Let's see how it fares:

1. For Anti-spam/Anti-virus filtering, I'm using SpamAssassin and ClamAV respectively. I'm using ClamAV on the server where my email forward is present, and SpamAssassin on the client side using kmail's filter to pipe it through spamc. There's some sort of SA integration built-in to kmail, but I never tried to use it. I just sort the mail manually into folders (Ham received, Ham Saved, Ham to delete, Uncaught spam received, Uncaught spam saved, and Uncaught spam to delete, as well as the automatically filled Spam Received, and Spam Saved), and run sa-learn on them.

2. The built-in kmail filters can filter on any email header (as opposed to GMail for example) as well as the contents of the body. I usually filter based on headers such as List-Id: or List-Post:, which are handy, because if someone CC's me on the post I receive this message also in my inbox.

These filters are integrated with the UI, so if you relocate a folder, it will also change in the filter that directs to it. It is possible you can also use something like Perl's Email::Filter or Mail::Audit to do the filtering for you, but then you'll lose the integration with the UI.

3. You can mark emails as important or "Todo" or whatever using filters. Since emails that were CCed to me are placed in the inbox (see #2) I never really needed this feature.

4. Hmmm... I don't think I saw a way to permanently kill a thread in KMail. You can delete a thread along with all its contents. Perhaps you can set up a filter on the References: header, but that would be a kludge. Or maybe it's fixed in recent versions of kmail.

5. Kmail interface is fast, but I don't know how customisable it is. Never tried to customise it.

6. Everything in kmail can be done using the mouse and menus.

7. KMail is very reliable.

8. KMail has a sophisticated message search engine. It's not as fast as GMail's is, but is it useful when I need it. You can also try using Beagle or whatever.

9. What do you mean by "Archive, not delete"?

And naturally, kmail is open-source, and written in C++, so you can hack on it yourself, or put a bug bounty in case you have an itch to scratch.