I have a new approach for streamlining the management of things that I’m waiting on something from someone. My particular implementation uses procmail, but the approach could easily be adopted to other types of mail systems – basically anything that offers rules-based filtering.
Let’s say I’m composing an email because I need to setup a meeting with someone. In the past, I would CC the message to myself and then the message would be in my Inbox the next time I check and I’d drag it to my @Wait folder. The prepended “@” sign is a convention that I use with my commonly used folders to make them sort to the top in my email client – this is a classic David Allen/GtD trick. This worked pretty well but having to receive the extra email and drag it to the @Wait folder was a bit of a drag, especially for something that I might do 10 times per day. And knowing that the message was sitting in my Inbox 5 minutes after I sent the message, this seemed to make it even more tempting to interrupt myself and check my email so that I could file it in the right place. I don’t need more reasons to tempt myself to check my email more often.
Being a geek, I wanted to optimize out the manual filing part. So here’s how I tweaked the process…
Now, I CC the message to myself+wait@domain.com. The important part here is that I can use the +foo syntax, which is legal according to RFC 822.
In my .procmailrc, I have something like this:
#
# CC myself => @Wait folder
#
:0:
* ^CC:.*myself+wait@domain.com
.@Wait/
(note that I store my mail in Maildirs because I use the Courier IMAP server – that is why my folder name starts with a “.” and ends with a “/”. The “@” sign, as I previously mentioned, is part of the folder name.)
Now the mail never even shows up in my Inbox. Instead, procmail immediately routes it to my @Wait folder.
Possible Future Enhancements
I’d like to try CC’ing messages to a more elaborate address like:
myself+wait-Foobar_project-2005-10-28@domain.com
and then I’d like to hook my procmail rule up to a Perl or Ruby script which could parse the address and do additional processing like queue up a reminder that gets emailed to me on the specified date and/or add an entry to my installation of Tracks.
I still haven’t decided exactly what I want and I’d have to figure out what the email address syntax will look like, which means that I’d need to have another look at RFC 822.