One man's spam fight
A while back, Microsoft announced the Coordinated
Spam Reduction Initiative, which aims to severely reduce spam over the next
several years. So far, the CSRI has put out a bunch of ideas, but hasn't
actually released any software. Fortunately, it's possible to put a severe dent
in your spam without waiting.
I'm probably some kind of poster child for spam. I started posting my e-mail
address on various Web sites five years back, and now Google says it's on 1300
pages on the Web. As a result, it's been harvested by pretty much every slimy
character who's ever compiled a mailing list. My wife also has a pretty public
Web presence. Between the two of us, our main e-mail server (which I run
in-house) gets somewhere between one and two thousand spam messages each
Faced with this onslaught, I've had to keep some eye on the solutions that
are practical to implement now. At the moment, I'm running a three-step
anti-spam program, with the net result that no spam makes it to my inbox and
nearly no legitimate mail gets blocked. Here's how I'm doing it.
The first layer is the newly-released Exchange
Intelligent Message Filter. This is Microsoft's implementation of keyword
and other weighted filtering techniques on the server side. It's free (though it
won't do you much good without an Exchange license) and easy to install. This
layer catches the most obvious spam and archives it for me (I believe in
archiving rather than discarding; disk space is cheap, and I may some day need
to ferret out a message that got filtered by mistake.
The IMF lets you set a threshold from 1 to 9 indicating how much to filter.
But it doesn't do a good job of letting you see what's getting caught at each
level. Fortunately, there's the IMF
Manager, a quick utility that James Webster whipped up. It lets you look at
blocked messages together with their "spam confidence level" rating. In my case,
an SCL of 7 on the server catches all the obvious junk without blocking
The second step that I take is the most controversial: I use a couple of the
spam blacklists to junk stuff that comes from known-bad senders. This is a
controversial move simply because people sometimes end up on those lists by
mistake. After trying a bunch, I've settled on the SpamCop and Spamhaus lists. They each catch spammers the
other miss, and they don't have a lot of false positives.
Inevitably, though, these two layers of server filtering still miss things.
That's why I run SpamBayes on my
copy of Outlook. There's good mathematical theory behind SpamBayes, but in a
nutshell you train it by showing it what your legitimate e-mail looks like, and
what your spam looks like. Then it monitors incoming messages and categorizes
them accordingly. After six months of so of training, SpamBayes nearly always
makes the same decisions I would; I have a handful of borderline messages to
look at each day and that's it.
The best thing about this combination of layers is that they're all free.
Exchange Server supports both the blacklists and the Intelligent Message Filter.
SpamBayes is an open source project that anyone can download (or contribute to).
If you're getting deluged by spam yourself, I recommend that you check out these
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.