Meng on procmail

Since discovering procmail, I have developed some complex recipes for handling my mail. This document, linked primarily from Infinite Ink's Mail Filtering and Robots page, goes into exhaustive detail about how I manage my mailing lists.

I'm on a good number of mailing lists, and since I get on new ones and get off old ones all the time, in my laziness I've set up a structure where I need only enter the name of the list in my .procmailrc for The Right Thing to be Done.

In my .procmailrc, I list them all, then call INCLUDERC=.procmailrc-lists, which organizes them into folders based on list name, saving each list under ~/Mail/Lists/listname. I use readlists to read them.

procmail is my host's default delivery agent, so /etc/procmailrc runs before my .procmailrc. It loads up basic definitions like $YYYYMM produced from a `date` call.


.procmailrc
identifies my mailing lists in $LISTS, then calls

.procmailrc-lists
tries to match the ^To: header with a list name, then downcases the $MATCH by calling the unix command, sed; to ensure no shell metacharacters are passed, it calls

readlists
calls your mailer on each file in ~/Mail/Lists, after presenting a summary with

those unsatisfied with the standard alphabetical order
that readlists presents your lists in, can put a line in their .procmailrc that specifies which lists are the most important and should be dealt with first.

readlists will normally present your mailing lists in alphabetical order. More important lists can be presented first: they are distinguished in the .procmailrc by a line that names them. For example, if I'm on two mailing lists called "urgent" and "funky" I'll put a line in my .procmailrc that reads
# important: urgent funky

procmail is available at ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/ and is partially documented on the web at http://www.voicenet.com/voicenet/homepages/dfma/procmail.html. The best of the procmail mailing list is also available.

Colophon

mengwong@pobox.com