I think everybody who has been around the internet for some time will appreciate the frustration of wading through tons of spam before getting to your actual email messages. I use 6 email accounts which all have several aliases and for some domains I am the “catch-all”. My oldest email address stems from 1997 and as email address protection was not so much of an issue in those days, it’s probably on every spam list you can imagine. Over the last years my daily dose of spam has risen up to 600 messages a day, which brings the signal-to-noise-ratio for my email somewhere around 10%.
Of course there are several free and commercial spam filters available, some of which do work quite nice. I have used my share of them, all over the effectiveness spectrum, with the Outlook built-in filter somewhere at the bottom and my most recent experience with CloudMark Desktop among the best. But the problem with client side spam filtering is that your spam only gets filtered when it’s fetched by the spam filter client. This means that when you access your email through several means, like web mail, PDA, cellphone, Outlook, you should have spam filtering running on all those clients. For some of these access methods spam filtering isn’t even available and for those that are available, spam filtering has to be installed, configured and maintained, which can be a chore and a burden for your wallet in case of the commercial products available.
As spam will probably never go away and I personally do not like the challenge-response system used by some spam filters, where the sender of the email has to complete a challenge in order to sent email to you (spam filtering should be transparent to the sender of the email), the best solution for spam filtering is to do it at the server. This means that your email is filtered before it gets to the client, so no client configuration is needed, and all present and future email clients will benefit from this. But most of us don’t have our own server running on which to install such a filter. An even if you do, setting up and maintaining a spam filter on your server can be quite a hassle. Ideally, you would a want a fire-and-forget solution, that filters your email without ever requiring any configuration or maintenance.
Everyone who has worked with Gmail at one moment or the other, will recognize the power of Google’s spam filter. It has a very, very low false-positive ratio and it works just out of the box! Wouldn’t it be great to have Google’s spam filtering for your own non-Gmail account?
I set out to use Gmail’s excellent spam filtering for all my email accounts, with some requirements:
- My current clients (Outlook on several computers, cellphone, web mail) should not require any changes in configuration.
- Filtered spam should not be thrown away, but kept somewhere, so we can periodically check for false-positives.
In short, the following steps will bring you (almost) spam free email to any of your accounts:
- Create a Gmail account.
- Create a spam free alias for your current IMAP/POP3 account.
- Configure Gmail to forward all email to your spam free alias.
- Make your current email address forward to your Gmail account.
There are some requisites though:
- You should be able to specify email aliases for your mailbox
- You should be able to create a forwarding email alias
Most email systems and ISP’s allow you to do this through some kind of web Control Panel.
Let’s look at these steps in more detail.
We’ll assume the following email setup, before applying Gmail spam filtering to it:
Mail server:
mail.example.com
User name:
john
Password:
<secret>
Email addresses and aliases:
john.doe@example.com
info@example.com
sales@example.com
Step 1: Create a Gmail account
Ideally you would create a separate Gmail account for each email address you wish to protect from spam. We’re not going to use this Gmail account for anything other than spam filtering, so not even for web mail access (although you could use it for this purpose).
Go over to Gmail’s registration page, to create a new Gmail account. If you already have an Gmail account you would like to use for this, you can skip this step.
Step 2: Create a spam free alias for your current IMAP/POP3 account.
This step is tricky to explain, because there are so many different email systems out there and all require different steps to create email aliases. Most ISP’s have some sort of online Control Panel in which you can manage your email settings.
The goal is to create a new email alias and link this to the existing IMAP/POP3 account, i.e. all mail sent to john_spamfree@example.com should be delivered to your existing mailbox.
After creating this alias, test it by sending an email to it: it should arrive in your current mailbox.
Step 3: Configure Gmail to forward all email to your spam free alias.
Login to your (brand new) Gmail account and go to “Settings” in the upper right corner. Now click the “Forwarding and POP/IMAP” tab. Set up “Forward a copy of incoming mail to” to your new spam free alias (in our case john_spamfree@example.com).
You can choose to leave the default “keep Gmail’s copy in the inbox” to effectively have a backup of all your email in your Gmail account. I prefer to set it to “delete Gmail’s copy”, so that the Gmail account will only contain the filtered spam.
Make sure you click the “Save Changes” button after setting things up.
Now test your forwarding setting by sending an email directly to your Gmail account.
Step 4: Make your current email address forward to your Gmail account
Again, this can be tricky, as some email systems will not allow you to setup a forwarding alias. If yours does, you’ll probably find its setup in the same Control Panel as in step 2.
The trick is to setup your actual email address to forward to your Gmail account. In our case we would like john.doe@example.com to forward to john.doe@gmail.com. Do the same for all email aliases you might have. So we have setup forwarding for our info@example.com and sales@example.com aliases to the same Gmail address.
Now test your final setup by sending an email to your original email address (john.doe@example.com) and all of its aliases. If you setup everything OK, it should arrive in your IMAP/POP3 mailbox.
Done!
You now can access your email from all devices and clients and enjoy spam free email everywhere. Don’t forget to login to your Gmail account regulary to check for false positives.
You can repeat these steps for every mailbox you wish to protect. Just remember to create a seperate Gmail account for each mailbox. This setup has brought down my spam count from 600 a day to 3 per week! I hope it is just as effective for you.
Works exactly as described thanks, simple and very effective procedure.
While it does work to have your Gmail account yank from your other POP account to do additional filtering and then have your local e-mail client yank from your Gmail account, be aware that you have no control over the mail poll interval. Gmail will poll your other POP account at various intervals depending on how often it finds e-mails in that other account. The more mail polls that result in no e-mails retrieved results in lengthening the mail poll. It might start out at 5 minutes for each mail poll after you first add your account to Gmail but this mail poll interval can go up to 50 minutes if Gmail repeatedly sees no e-mails to yank from your other account over successive mail polls. As an example, you might be expecting an e-mail very soon after registering for use of a web site that sends you a confirmation e-mail which you must use to complete the registration process to use that site. You cannot login into that site until you complete their registration process. You keep waiting for their e-mail to show up. Gmail won’t poll your other account for up to 50 minutes and you’re left wondering why you never got their confirmation e-mail. So either you wait or you use the webmail interface to your other account to get at that e-mail now. Using Gmail as a server-side filter to yank from your other POP accounts and using your e-mail client to pull from your Gmail filtering account will result in very long delays in receiving e-mails if you don’t get that many to reset Gmail’s poll interval.
By the way, you do NOT need to configure your original e-mail account to forward (push) to Gmail. If it has POP access, you can configure Gmail to pull your e-mails from your original account. So you can push or pull to your Gmail account.
@blueboy: You’re exactly right. That’s why the proposed solution forwards emails to the Google account, instead of relying on Google to fetch them via POP3.
The only issue I see with this is when you convert your existing IMAP account to a forwarding account… unless you mean leaving it as IMAP and adding a forwarder on top? Do you lose access to all of your saved IMAP mail? I’m kind of hesitant to try this if there’s any chance of losing saved mail, although the spam filter on DreamHost really sucks compared to Gmail and I’d love to do this if I can…
Cheers,
-nick
@nick: indeed I propose adding a forwarder on top. So your current IMAP setup doesn’t change at all.
Does anyone have any idea what the “low-level” Unix-ism’s are for aliases versus forwarding? My host provides CPanel, which only offers “forwarding”, but their forwarding first leaves a copy of the email in my inbox. That pretty much defeats the purpose of this whole thing. It is beginning to look like I may have to shift over to having my real email address be nothing more than an alias with the “real” email going to a different email box. A bummer, but would solve the problems.
So do you have to create a NEW pop3 account that you would now check?
If I have johndoe@domain.com as my current pop3 account and want to use the method above, I’m not clear how it works. I leave my email client to check johndoe@domain.com as per your listed requirement to not have to change anything in existing email clients.
If I setup johndoe@domain.com to forward to johndoe@gmail.com which then forwards to johndoe_spamfree@domain.com which then forwards back to johndoe@domain.com, does that no create an endless loop? Am I missing something here?
@Aaron: You don’t have to create a new POP3 account to check your email. All you have to do is to set up your current email address to forward to your Gmail account, create a new email address (alias) for your current POP3 account and have Gmail forward incoming email to that new email address.
I have the same question as Craig. My host uses CPanel, and the forwarded email stays on the server. So I’m getting duplicates of all the emails: the original email plus the copy that was forwarded to gmail and back.