SpamAssassin Prehistory: filter.plx

Before there was SpamAssassin, there was Mark Jeftovic's filter.plx. This was a 'context/keyword spam filter', which came up with the basic scheme of what we use in SpamAssassin: namely, named rules identifying spam-like 'features' of the mail, each rule has a score, and once the number of 'strikes' goes above a certain threshold, the mail is marked as spam. And written in perl, of course ;)

I (Justin Mason) used this for several years, adding a few small snippets of code; eventually though, the code was getting a bit stale, and Mark seemed busy on other stuff, and I had a few thoughts about some improvements I could do with a total rewrite ;) -- so I decided to recode from scratch under an open-source license, and that was SpamAssassin.

Unfortunately the original site at is no longer up, but the Internet Archive has a snapshot of it from December 1998 here.

Also courtesy of the Internet Archive, the change log of filter.plx is here, spanning June 1998 to August 1997.

Finally, Mark was kind enough to dig up a source code tarball for (20k). This is the 1.02d release, February 1998.

Whatever you do, don't actually run the code -- spam nowadays looks nothing like spam did back then, before e-mail clients grokked HTML. Plus I don't think Mark wants to get bug reports at this stage, it's been 5 years ;) This page is here instead to document the history of this project.

Update: 20040602: Gary Robinson notes a similar script called The Spamometer. It looks like this may have even predated filter.plx! --j. 20040602