I use procmail to filter my mail into several categories:
I treat my Inbox as a place to put everything that I want to be notified of immediately. That is everything from the above list but spam and regular mailing list mail.
The simple solution would be to redirect the interesting stuff to my Inbox. But that loses the record of the thread in the actual mailing list folder, and it's too much of a bother to move the message to the appropriate folder after reading it. So the next solution would be to keep a copy in both places. But now you can't distinguish between things that are freely deletable (because there's a copy in the actual folder) and things that are only in the Inbox. Also, you don't know what list originated each message, which is useful when scanning the Inbox by eye.
So, I prepend each copied message with <listname> (including the
angle brackets). This gives me everything I want, but introduces
another problem: if I want to respond to the message from my Inbox,
it'll have that tag in the Subject line, resulting in people getting
messages from me like "Re:
Sounds like something that Mutt could take care of. And it can, by
using some bizarre command for a mailer that rewrites the subject line
before opening up an edit window on it. Which would work, but I didn't
know about it and it seems like an unnecessarily difficult and
convoluted hack to me. After all, Mutt's gone to all the work to
separate out the headers and it provides the useful "my_hdr" command
already to rewrite headers during hook calls. But rewriting "Subject:"
is not allowed, and even if it were, mutt doesn't have a way of
passing the original subject line to the hook function.
Apply this patch and it
will. This allows you to use "my_hdr Subject: blah" to change the
subject line, and also sets some useful environment variables
(accessible via any backquoted external command in the hook, or simple
$variable substitution):
My .muttrc line for doing this is:
(The
Simple problem, frustratingly difficult to do with an unmodified mutt.
Patch status: haven't bothered submitting it to the mutt people
yet. No time. Will have to scan through the mailing lists and things
because it's very probable they'll regard my solution as a halfway
hack. Not that I would disagree, but I don't understand mutt well
enough to know.
send-hook ~A 'unmy_hdr Subject:'
send-hook "~s <[^[:space:]]+>" 'my_hdr Subject:`perl -le "for (shift) { s/<.*?>\s*(re:\s*)?//i; print }" "$MUTT_SUBJECT"`'
for(shift) weirdness is because there's a bug in my
patch, so you can't use a dollar sign anywhere.) Concrete example:
1. A coworker sends me email titled "is your server down again?".
2. Procmail files a copy in mail/work
3. Procmail also files a copy in INBOX, with
subject "