How To Improve Email Deliverability
I’ve been having deliverability issues with one of my email addresses [email protected]. I would send a client emails from that address and get no reply.
I was not getting a reply because it was not being delivered. Not great I’m sure you will agree. These were clients who had requested quotes, approve things and paid, then it would look like I had disappeared down a block hole with their cash.
I would get in contact using my gmail account and the conversation would continue. I’m red faced and my reputation is dented.
The Investigation
I began looking into why this was happening and it turns out big email providers like gmail or yahoo like you to jump through some hoops to prove your email is valid. If you don’t jump through those hoops your emails may be discarded and never get to the intended recipients.
Let me introduce you to some new terms SPF, DKIM and DMARC.
These are the hoops you need to jump through.
How To Check If Your Domain Is Okay
Here’s a tool to check to see if your site / email has any reputation issues.
With this tool our send an email from your address to a special email. The email is accepted by them and a report on your deliverability is created.
I’m not using neil@neilmatthews.co so I’ve decided to run neil@neilmatthews.com through this process and ensure my new email is valid. The results were unsettling.
The issue is I have an invalid SPF record, no DKIM or DMARC records setup. The rest of this post will be about setting up these records and hopefully I will have a much better score for my email by the end of this post
Warning you only get three free tests per day of this tool, use them wisely.
SPF – Sender Policy Framework
SPF or sender policy framework is an entry on the DNS of you hosting server that says an IP address is valid to send on your behalf. You can send an email with a from address of [email protected] from any server, but we are going to add a control that says only email sent from my servers IP are valid.
To add this record we need to login to our hosting panel and find the DNS entries (see link below to explain how to do it for your host). I’m with bluehost.
So I need to add an SPF record which say include any IP from bluehost.com to allow as a sender
v=spf1 a mx ptr include:bluehost.com ?all
Don’t worry about the content of this record,. on the link below you will find out what to add to the entry.
If I used another email service. that sends emails on my behalf would need to add this too, for example if I used Sendgrid for transactional emails.
Here’s a very useful guide on a host by host basis https://www.mail-tester.com/spf/
Here’s a video of me adding an SPF record to bluehost.
My score after adding an SPF record.
DMARC – Domain-based Message Authentication, Reporting, and Conformance
We need to add another record to our DNS server a DMARC record
This record tells the remote server what to do with an email if it does not authenticate correctly. The options are none, reject or quarantine. I’ve set my own DMARC record to be quarantine.
We add a record for the domain _dmarc with an entry like this v=DMARC1; p=quarantine. Here’s a video of me adding a DMARC record.
DKIM – Domain Key Identified Address
Things are getting a little more squirrely here. We are going to create a public private key pair to add some encrypted tests for our email domain.
I found a number of documents to create your own DKIM records but to be honest I could not get them to work.
In the end I contacted Bluehost support and asked them to create the key pair and add a DKIM record for me.
There is a new txt record that looks like this
_domainkey
v=DKIM1;p=MIGfMA0GCSqGSIb3D{ A CHUNK OF THE KEY HAS BEEN DELETED FOR SECURITY REASONS }XxuU4iy1CI6KWLRhwIDAQAB
The Results
Here are my final results things are looking good.
UPDATE – Mailchimp
As I went to send this email to my mailing list I realised I need to add an SPF record for mailchimp too. I added this record:
v=spf1 include:servers.mcsv.net ?all
I also needed to add a cname record to setup DKIM for Mailchimp.
Check out this docuemnt for full details https://mailchimp.com/help/set-up-custom-domain-authentication-dkim-and-spf/
Wrap Up – How To Improve Email Deliverability
My domain is now setup and hopefully I won’t lose any more emails.
If you need help setting up email deliverability for your domain jump over to the work with me page.
Photo Credit: IISG Flickr via Compfight cc
Doing the seo dance how to improve email deliverability