Stopping Spam (99%)

If you have control of your own domain DNS entries, here’s a number of products that can greatly reduce the amount of Spam you receive. The services used are all free with limitations, however, the limits are high enough to handle most small domains.
This article covers the tools I found to eliminate or greatly reduce the amount of spam reaching your inboxes.

Spam Filter Setup

I had a look at a couple of free Spam Filtering services, MX Guarddog, and Safentrix. Both services work the same way by injecting their service as the front end mail server for your domain and delivering the messages to to your “real” mail servers.

MX Guarddog works the same as most services, maintaining a quarantine area of suspect messages which you must periodically review To get the service you must embed a link to their site on your homepage. Based on the amount of traffic your site gets you are then given points. My particular site has low hits and resulted in zero points.

Safentrix takes a different attack at spam. Their filters block at the SMTP layer rather than fetching the email, analyzing it and placing it in quarantine. There is no quarantine at Safentrix. This sounded at little scary at first, but they have alternate methods to ensure false positives are delivered. The free service injects a small text advertisement for Safentrix.

I chose the Safentrix approach because I no longer needed to sift through pages of quarantine to weed out the  “good” ones. Setup requires you to enter a dummy DNS entry to prove you control your domain.

For Safentrix, setup your MX records for a.as.safentrix.com, b.as.safentrix.com.

Note: The only issue I have found with this service is dropping legitimate senders with no easy way to whitelist them. I have since stopped using this service. I found Google’s spam filter to do a pretty good job.

Another noteworthy product, if you’d like to host your own spam filter, is Xeams. This is both a spam filter and mail server.

Email Client

Most hosting providers proving a bundle of services don’t provide an email service that is robust and manageable. I found Google’s gmail bundled in Google Apps to be an excellent choice. (Note: The free version is no longer available)

Through the use of a CNAME record you can have a record in your domain point to the Google services. In my case, mail.thechamberlands.net points to gmail accounts. The gmail accounts look like they are in thechamberlands.net domain including user accounts (ie. addresses are myname@thechamberlands.net). The gmail service also provides another layer of spam filtering and Google Apps provides a number of other great services.

Setup requires you to either create a dummy DNS entry or place a page on your website in order to prove you own the domain.

Setup MX records for aspmx.l.google.com, aspmx2.googlemail.com, alt1.aspmx.l.google.com, alt2.aspmx.l.google.com

Domain Registrar

Many hosting plans also include free domain registration, but I liked the ability to control my own entries. After researching a number of registrars, I found namecheap.com to have the best value, offering free WhoIs protection (dummy contacts) as well as domain lock. They also offer a free DNS manager. Note: Do not use an email address within your domain to set this up. If MX records are wrong, you won’t receive any of the required approval emails. I set up another gmail account to handle this and have it forward copies of any email to my chamberlands.net mail account.

DNS Services

If you have a provider that doesn’t allow full control of your DNS entries, there are a number of free services to do this as well. I reviewed a number of these. Namecheap.com looked good but I found Zerigo provides a much superior interface with more features. I setup my entries and had my hosting provider (who is also the domain registrar) to point my name servers to the Zerigo name servers.

For Zerigo setup Name Servers: a.ns.zerigo.net b.ns.zerigo.net c.ns.zerigo.net d.ns.zerigo.net e.ns.zerigo.net

Their free service allows for 50,000 queries a month, up to 3 domains and a maximum of 30 hosts. They have a wildcarding entry where you can say “any host that doesn’t have an exact match, send it here”. This feature really trimmed down the number of entries I had to make as most of my services are hosted at the same  IP address. They even support dynamic IPs if you happen to host a service on a home machine.