Wed, 16 Aug 2006

Just back from vacation... (or "why I love mutt")

I spent the past two weeks on vacation. When I got back, there were more than 11,000 messages in my INBOX. Fortunately, mutt makes it fairly easy to deal with this much mail.

Much of the mail I get is sent to aliases or mailing lists. Examples are,,, and so on. Under the assumption that mail addressed directly to me is most important, I ask mutt to show me only messages with "noahm" in the To or Cc headers with the following keystrokes: l (~O|~N)(~t noahm@|~c noahm@). In plain english, this translates to "limit the display to messages that are old but unread or new and that contain "noahm@" in either the To or Cc header". At this point, mutt is showing me messages addressed directly to me. This is a much more reasonable number of messages to read. So now I start categorizing this mail based on whether it needs a reply or not.

At this point I also copy any spam that got through the filter into my MissedSpam folder. I do this with the following macro that is bound to the Delete key in Mutt: s ^a^k=MissedSpam\n. This allows me to move a message to MissedSpam simply by highlighting it and pressing Delete.

Because I received so much mail, but only roughly 40 messages were addressed directly to me, I decided that I'd be better off just skimming the mail addressed to me and moving on. Mutt makes this easy. When I come across a message that I'd like to read more closely, or that needs a reply, I flag that message as "Important" by pressing the "f" key. Then at a later time I can ask Mutt to show me only the flagged messages with a command like l ~F.

Much of the mail I get is reports from the logcheck program running on our servers. Logcheck examines a given set of log files periodically, filters out messages matching patterns that we don't feel we need to see, and sends us the remaining log file entries. I usually get somewhere between 100 and 200 of these messages each day, so being able to exclude them from my INBOX view is very helpful. Equally as helpful is the ability exclude all mail not coming from logcheck. So I bind ^y to "<limit>(~O|~N)(~s 'system check'|~f logcheck)<enter>". When I've gone so many days without reading mail, I often find it helpful to read logcheck mail from a single day at a time, so I might modify that macro to include "~d<1d", which will further restrict the messages shown to those whose Date header is within the past 1 day. Then I'll move to 2 days, 3 days, etc.

The 'z' key is bound to a macro that excludes messages matching patterns that indicate that a message was sent my some periodic automated process at the lab. This includes the logcheck mail mentioned above, as well as some other periodic tasks. Using this macro allows me to limit my INBOX view to message that come from actual humans. Given the amount of machine generated junk I get in my INBOX, this is obviously a very useful feature.

0 writebacks



TrackBack ping me at:


URL/Email: [http://... or mailto:you@wherever] (optional)
Title: (optional)
Please enter the text shown in this image in the adjacent text field: