www.trisk.com / Scamper's Homepage / Procmail tips and pointers

Some Background and Acknowledgements


  I've been writing and tweaking on my own procmail recipes since about 1995. I also started using SpamBouncer, a procmail based spam filter written by Catherine Hampton, around 1997 or so.

  I subsequently gave up on SpamBouncer for a few years, then finally went back to using it around 2000, or 2001 when my primary email address started getting mail bombed with several hundred junk emails a day. It was either that or change it, which would have been a pain since I had been using that address as a contact reference for years by that point, and it's embedded as such in software I've published as far back as the early 90's. I'll be the first to admit that it's been bit more work keeping my address alive this way. But you know, it's just one of those things. I refuse to be chased off my email address because of spam. At this point It's a matter of principle. It's my address, not some advertiser's personal advertising billboard. If you happen to be reading this and are one of those attempting to send spam to my address, feel free to listwash my email address if you haven't already done so. I would very much prefer that you listwash my email address and save us both the trouble.

  In the process of using procmail and SpamBouncer I have extensively studied how the author Catherine Hampton, wrote it. Following a few instances of reporting bugs and troubleshooting it over the years, she eventually around August of 2004 invited me to help out with it's development. I felt rather honored at this invitation, so chose to accept it. Since that time I've written a few things that got incorporated into the SpamBouncer, such as the code that supports SpamBouncer's SBLOG functionality, a recipe to allow SpamBouncer to report emails to SpamCop, and a recipe to allow the use of IPv4/CIDR ranges in text files to be used in procmail. Other than that, I mostly help Catherine with reviewing code changes, SpamBouncer alpha testing and sometimes with special projects she wants done but doesn't have time for. I'm not the only one that helps her out in this fashion. Catherine has many people helping out with various aspects of her program.

  None of the examples shown here are used by the SpamBouncer at present, though they do implement some of the same functions using different techniques. Most of the recipes are derived based in part on the examples given in the various procmail man pages, and from my own programing experience with procmail over the years. I've also learned a few basic techniques in writing procmail recipes over the years from lurking on comp.mail.misc, from development lists, and from studying Catherine Hampton's work in the SpamBouncer. If you really want to learn what can be done with procmail recipes and are so inclined, I strongly recommend studying how the SpamBouncer accomplishes some of the procmail magic it does even if you don't use it as an email filter.

  All of these techniques are used in my own custom procmail recipes, though the details may vary a bit. These examples are in addition to what the SpamBouncer does, and are mostly used prior to SpamBouncer being called on my system.

  As of 2006 I've started participating on the Usenet newsgroup: comp.mail.misc as I have the time, and in doing that I've used variations of my own custom procmail recipes to draw upon for some of the answers to questions posted on that newsgroup. comp.mail.misc is one of the places people can go to for help with procmail. Because of that, I've found myself writing some of these recipes as examples there often enough that I decided to put together this web page partly for my own reference to draw upon for answering questions, and possibly to point people to as a procmail reference if they are so inclined, and can't find the answers they need elsewhere. I may add to this set of examples from time to time as the need arises.

  Anyway, the procmail examples are intended to illustrate some really basic procmail techniques that can be used for spam filtering. Use them at your own risk. Any type of spam filter can be configured to delete emails. Some of those emails you may consider to be important and not spam. Losing those kinds of emails is one of the risks you accept by using any kind of spam filtering or blocking methods and are what we refer to as false positives. So, feel free to look at these procmail recipes and maybe adapt some of the techniques shown for your own uses, but please do not use this set of recipes as a spam filter unless you plan to maintain it and monitor it closely.

  If what you are looking for is a spam filter then please use one that is maintained by knowledgeable individuals. I can recommend both SpamBouncer and a popular spam filter called SpamAssassin that is written in perl for this purpose. As good as they are however, sometimes these filters just don't meet your needs entirely, and the only solution in that case is to augment them, or replace them entirely with some home brew custom filtering. I personally also make use of BOGOFILTER in my procmail recipes to pre-scan email prior to the handoff to SpamBouncer. BOGOFILTER is a fast bayesian spam filter written in C.


www.trisk.com / Scamper's Homepage / Procmail tips and pointers / Some Background and Acknowledgements

© 2006 by Garen L. Erdoisa - All Rights Reserved
Page last updated: Monday Apr 17, 2006 Use this information at your own risk.
Contact Info:"Garen Erdoisa" <scamper@trisk.com>
URL: http://www.trisk.com/scamper/acknowledgements.html