Over the past year or so there have been lots of posts on various G+ communities about issues with GMail delivery (particularly to groups) and accounts being exploited by email spoofing. So I thought it might be an idea to bring together the steps you need to take to knock these issues on the head into one place.
- Configure your domain to use SPF (sender policy framework)
- Configure your domain to use DKIM (Domiankey identified mail)
- Configure your domain to use DMARC (prevents email spoofing)
- Force all incoming SPAM into admin quarantine
Numbers one and two will improve your email flow and prevent your messages (particularly ones going to groups and certain outside agencies) being marked as SPAM.
DMARC relies on the SPF and DKIM being correctly configured first. All messages you send will be checked and ones that fail either SPF or DKIM will be actioned in accordance with a rule you set.
The final step prevents end users ever seeing anything in their SPAM folder. All SPAM ends up in admin quarantine, thus preventing end users ever having the opportunity to click on nasty messages.
To enable SPF you will need to enter a TXT record in the DNS editor of your web hosting company. The record should be v=spf1 include:_spf.google.com ~all
Your hosting company may have a specific section for email authentication where this record can be pasted in in the SPF section. Once enabled messages should have a 'mailed by' section in the details:
To enable DKIM you need to turn on email authentication in the Google Apps admin console. So navigate to Apps, Mail, and look for email authentication.
There you have an option to turn on authentication (DKIM). There will be a TXT record name and value (a long key). In your domain hosting DNS editor create a TXT record. The name is the name shown in the Google Apps admin console - google._domainkey , the value is the long key - just copy and paste it. TTL I normally set as 14400.
Once you have saved the record in the DNS editor, make a cup of tea and read the paper. When you have finished, click 'start authenticating' in the Google Apps management console. If all is well it should go green. If not wait a little longer and just double check your work. To test, send a message to another gmail account. You should see:
Now before you start on this bit be absolutely sure steps 1&2 are working. I'd give it a few days and check both SPF/DKIM work reliably. If all is well, continue. DMARC checks all messages you send from your domain and acts on any that fail either SPF or DKIM.
To enable, create a TXT record with the name: _dmarc.your_domain.com
The valve should be: v=DMARC1; p=whatyouwanttohappen; rua=mailto:emailladdressformessages
So p can be:
none - nothing happens if a message fails either SPF or DKIM
quarantine - messages that fail go into SPAM
reject - messages get rejected
You can also add the variable pct=X where X is the % of messages that the rule applies to. Not a bad idea to use early on just to see what gets stopped.
emailladdressformessages - the email address that will get the daily messages that tell you what messages has passed and which have failed and why. I skip the inbox with these and filter them into a label called DMARC.
All being well, you won't notice anything much other than the daily messages. Assuming you have either quarantine or reject selected you will now be immune to email spoofing.
4. Force SPAM into Admin Quarantine. See my blog post here on how to do this.
As a footnote, I'd also say that you should never whitelist any domains or email addresses - ever. If all of the above of correctly configured, you should never have an issue with things being picked up as SPAM and therefore the need to whitelist domains vanishes. Whitelisting domains sort of says, please SPAM me - so don't be tempted to do it!