My major problem in this regard was relying on Microsoft Outlook’s junk mail filters as my chief defense against spam, which really doesn’t help much at all because it’s based on filtering out email from people who’ve sent me spam before, based on email address. This doesn’t catch most spam, and requires some manual input from me every time I get a spam email.
So after looking at what’s available out there, I’ve installed a nice set of procmail filters called Junkfilter. The installation wasn’t painless — largely due to my lack of procmail literacy — but once it was all installed, I’m finding that it catches about 98% of spam and dumps it into a special mailbox that I’ll check once in a while to pick out any mis-identified real email.
Junkfilter is quite flexible and lets you configure your level of spam filtering. It combines a variety of techniques to identify spam, including looking at various mail headers, known sources of spam, keywords in the email and so on.
So far, I’m impressed.