By Ev Bogue - December 29th 2014
"You're messing with my zen thing, man." - The Dude from Tron
Inbox tranquility is one of the most important thing in modern life. I can't think of anything better than logging into an inbox that I have complete control over.
I know I can't control WHO sends me messages. Spammers will spam, trolls will troll, and fucktards will be fucktards and shitheads shitheads.
However, once common behavioral themes begin to emerge from senders, it can make a lot of sense to filter them to specific folders where they can be dealt with in their own time.
This is even more true now that "social media" is falling apart, and we have this giant group of homeless former-social media addicts wandering the Internet trying to get some "play". It was so much easier for people to feel as if they're being heard when there was a "Like" button. The trouble is, email doesn't have a like button, and there's no bot net making people feel appreciated all of the time.
Now, I wish we lived in a world with perfect email etiquette. This is a world where no one drinks and drives their inbox. A world where people never ask dumb questions three times per day. It's a world where every email that comes into my inbox is a perfectly formed request with the related information I need to process the request attached.
Alas, we do not live in this world. This is where procmail comes in.
Procmail is how an Operator can sort, classify, and even destroy emails upon arrival to an inbox with as little effort as possible.
I use it to do the following things.
That's it. Simple.
The reason I wanted to learn how to do these things, is because I continue to have certain senders who think they have the right to abuse my time. My usual flow is to respond to people within 24 hours, but for some people this has been revoked. They know who they are, of course. It's not you, don't worry.
And spam is obvious. I'm sick of getting messages about re-doing my garage floor.
Spam was one of the biggest reasons for learning procmail, but once I began operating my own email server I was able to dial spamassassin up to level 1, and now I deal with much less spam on a day-to-day basis. And once I added the trolls, shitheads, and fucktards to a procmail recipe, I can enter my inbox without worrying about disturbing my tranquility.
Once you get procmail installed, you'll need to create a recipe.
I started by adding this stuff, because someone told me to.
VERBOSE=off MAILDIR=$HOME/Maildir PMDIR=$HOME/.procmail DEFAULT=$HOME/Maildir/new LOGFILE=$PMDIR/log INCLUDERC=$PMDIR/general.rc
This tells procmail where my Maildir is and some other things. I'm not sure if it's all necessary.
Now let's say I want all of the spam that Spamassassin tagged as spam to go into it's own folder called spam. This is how to do it.
:0 * ^X-Spam-Status: yes spam/
Procmail recipes are weird. They start with a funny smileface, and then there's all sorts of other things going on. I don't pretend to know how these recipes work, I just copy them from other people and see if they work.
Now let's say you want to create a recipe for a person's email address
:0 * ^(From).*(firstname.lastname@example.org) fucktards/
Great. Now all of the messages from email@example.com are going to a special folder called fucktards. Now, this person doesn't get to rule your inbox by sending you 30 trolly messages a day.
Now let's say this person changes up their email, because they figure out they're on your fucktards list. Easy, add another email address to the mix with a pipe!
:0 * ^(From).*(firstname.lastname@example.orgemail@example.com) fucktards/
Great, now that other email address is there. Bonus, you don't have to specify a whole email address. Part of an email address will do too. Such as...
:0 * ^(From).*(trollymctrollersons.com) fucktards/
There, now everything from trollymctrollersons.com is going to my fucktards folder.
This is good for almost anyone who thinks they have a right to fuck with you. Your ex-boyfriends who can't get over you, your family members who don't want you to succeed at life, and Internet trolls who never did anything with their lives and now they're bitter that you did live your life.
You might not have a legion of trolls trying to mess up your vibe, so perhaps you can use procmail to sort your emails by whether or not they've ever bought anything from you or not. For example, you could...
:0 * ^(From).*(firstname.lastname@example.org) clients/
And if someone never buys anything, but loves to send you three messages a week, you can.
:0 * ^(From).*(email@example.com) notaclient/
And then you can handle your clients first, and your potential clients later.
Remember, to add another client all you need is a pipe!
There's all sorts of ways you can use procmail to prioritize your inbox for maximum tranquility. You might even want to send someone to /dev/null, then you'll never have to hear from them again! Don't worry, I'm not doing this with anyone. Yet.
:0 * ^(From).*(firstname.lastname@example.org) /dev/null
Whew, that's a load off our minds, isn't it! Just note that /dev/null is the equivilent of flushing a still breathing fish down the toilet. Use at your own risk. Right now I am not doing this with anyone, even spammers.
Anyway, procmail is a great tool in any Operator's manual if you're the kind of person who uses your inbox often and wants to sort people into nice neat ordered rows.
Me, I have a whole lot of spam and a couple of shitheads that I want to deal with when I want to, not when they want me to.
If you're worried that you somehow ended up in my fucktards folder, give me a shout. I will confirm or deny.