mutt and mu


I still use mutt for reading my e-mail. I’ve tried other stuff (Thunderbird, Entourage, Gmail), but the thing I can’t get over is the text editing. There are certainly things that aren’t as nice as graphical mail clients, but I do get by:

  • PuTTY/iTerm and/or urlview/urlscan give me easy access to hyperlinks.
  • Attachment viewing is a keystroke away.
  • LDAP integration at work provides tab-completion on names and e-mail addresses.

In all other respects – mail filtering (procmail), editing, quick scanning, etc. – mutt wins hands down.

The one deficiency is a decent search facility (a la Gmail); mutt “out of the box” only supports folder-based search, and doesn’t provide a mechanism for searching all mail.

Enter mu – an indexing system for Maildir-based e-mail. Indexing itself is pretty fast: at home (AMD64 1.0GHz), it took about 8 minutes to index 109857 messages (1.1GB) going back to 1993. Being Maildir-based, mu can incrementally update itself with just the new messages simply by examining file mtimes.

The rub is that all my mail was stored in mbox-format (maildir wasn’t invented yet); I had to use mb2md to convert all the mboxes over to maildirs.

Maildir’s one-file-per-message scheme is nice for lots of things because applications can create a separate set of directories with links to the actual messages to implement features like search results (such as done with mu) and tagging (a.k.a. “virtual folders”).

The maildir format is bad for things like backup and other applications where it would be convenient to have fewer files to manipulate. Individually compressing many small files loses any benefit from compressing a large concatenated stream of files. Maildir filenames contain a ‘:’ character, which makes them un-copyable to a Windows machine (such as for backup).

Pause while laughter subsides.

  1. No comments yet.
(will not be published)