One of the most annoying items you encounter using email is the avalanche of spam when you start using your new email address on the internet. But luckily there are ways to help you fight the spam wave effectively.

I’ve selected two very effective weapons:


Greylisting is a technique that basically rejects email the first time it arrives on your mailserver. Genuine mail servers will retry sending the mail after a certain time-out (usually within 5 minutes). Servers sending spam are very opportunistic and won’t retry sending their message. This means that all new email is delayed by 5 minutes. But if an email sender is sending mail regularly it will be whitelisted automatically and will no longer be rejected the first time. For more detailed information on the inner workings of grey listing I would advise you to read more on:

In my experience this helps to kill more then 90% of all email spam. The rest I kill off using mail filtering.

I’ve selected SQLGrey as a good working solution on my Snow Leopard mail server. You can read more on implementing SQLgrey on the next pages:

Email filtering

To identify the spam in the remaining email that enters my mail server I’ve choosen to use a filter that can identify when the email is spam or ham. I’ve choosen DSpam as my favorite mail filter. DSPAM is an adaptive filter which means it is capable of learning and adapting to each user’s email. Instead of working off of a list of “rules” to identify spam, DSPAM’s probabilistic engine examines the content of each message and learns what type of content the user deems as spam (or nonspam). DSPAM is a very good spamfilter and is easy to use and train by it’s users. Training can be made very simple, I’ve chosen to use a folder structure in which people can drop their missed spam (false negative) into the Junk folder which gets processed overnight to train DSPAM. I