“Deliverability” is an email marketing term for landing emails in the inbox, rather than the spam folder. We’re not email marketers, but it’s a useful word, and landing your emails in the inbox is important to us too.
We’ve been working on deliverability a lot over the past few months, and since there’s a lot of information out there for email marketers but not too much for small (or self hosted!) personal email servers, we thought we’d share our findings.
If you’re just interested in Purelymail development updates, skip to the bottom section.
If I host my own email, should I worry about deliverability?
- Send emails
- which aren’t replies or part of an existing thread
- to people you haven’t sent a lot of email to before?
- Care whether they end up in the “Junk” folder or the inbox?
If so, then yes.
We won’t cover these in depth; there’s plenty of resources on them elsewhere.
SPF, DKIM, DMARC. Do all of them. You should probably rotate your DKIM keys, too, or you might lose a presidential election.
You need a relatively clean static IPv4 address. Don’t bother with IPv6.
You’ll be building reputation on it, so start off with just one. Make sure it’s not on any blacklists, and that it has a reverse-IP record set up.
Deliver over SSL when possible. Make sure your mail server retries delivery when it receives temporary failure codes. Also, make sure your mail server isn’t an open relay.
Use major TLDs like .com and .net, and shy away from everything else where you can. Exotic TLDs are often abused by spammers.
The longer you’ve owned your domain, the better.
Many providers scan the content of your email. In other words, make sure what you’re sending doesn’t look spammy.
It may help to add large (>256 KB) attachments. Strange as it sounds, a bigger email is harder for spammers to send, so big emails you send look less spammy.
Sign up for FBL Reports
Probably not a great time investment for self-hosted email setups, but for completeness: Many email providers offer Abuse Reporting Format Feedback Loops, which send you an email when somebody marks one of your emails as spam. Not all providers offer this. (We don’t yet.) Returnpath lets you sign up for many FBLs at once.
Checking your setup
Mail tester is a fairly useful tool to test your basic setup. Gmail will also show you details on SPF/DKIM/DMARC authentication if you check under “Show Original”.
You want to build reputation by sending legitimate emails. There are two major types of reputation, which count separately:
- The IP address you send from
- The domain you send from
To improve your reputation send emails between your setup and providers. Each will keep its own stock of your reputation, so repeat for every provider you’re interested in.
It’s best if you:
- Send emails that look like “conversations” between you and the provider, i.e. reply to the emails you send.
- “Read” the emails you send and interact with them in general.
- Move anything that ends up in spam out of spam. It may be to your benefit to purposefully send email that looks like spam, so you can unspam it.
- Send from a few different addresses on your domain, and if possible to many different accounts at the provider.
To their credit, Google is actually fairly reasonable at deliverability, at least in our experience. Some people have less luck.
Once you build a decent reputation, Google will recognize that you’re not sending spam, and let your emails through. Make sure you’re delivering over SSL.
It may help to sign up for Google Postmaster, in terms of getting email delivered. I can’t confirm that though.
If you do sign up for it, abandon all hope of actually getting any useful feedback from it. Google’s mail tools are fairly hostile to small mail hosts in general, with Postmaster requiring hundreds of emails per day before it’ll show you anything. It’s really for email marketers. (I think they have an ARF equivalent that explicitly only allows email marketers to sign up, but I can’t find it at the moment.)
Outlook will be somewhat of a nightmare. Your emails will first be rejected at the SMTP level, and you will need to file a form to be unblocked. After that, all of your emails will end up in spam folders without fail.
If you keep at it though, you may get a few emails through! It depends on their content, but not in any obvious or sane way.
Signing up for their SDNS service or the Junk Mail Reporting Program may or may not help.
You may be able to buy your way into Outlook through the ReturnPath certification program, but that’ll run you thousands of dollars a year, and is probably really meant for email marketers.
I don’t really have any good news here, because I haven’t figured out Outlook deliverability myself. If you have any good ideas, let me know.
The long tail
For US markets, Gmail + Outlook have about 80-90% US marketshare between them. This was the best data I could find, though it’s two years out of date. It’s probably roughly correct though.
Past that though, there are hundreds of smaller mail providers. I’ll add more major ones as I come across them.
Generally, if open-source solutions like SpamAssassin like your mail and you don’t wind up on many blacklists, you won’t have major problems. Smaller providers can’t rely on senders jumping through their hoops.
You will still have the occasional bizarre issue with an obscure host. Hopefully, they will give you an SMTP bounce rather than autospam your email, so you at least know what you need to fix.
Does this seem like a lot of work?
Yea, it kind of is. But the dream of decentralized email sending was murdered by spammers.
If you want to self host your email, you’re better off not handling sending yourself. Your mail server can receive email no problem, but when it times to send some out, use a relay like Amazon SES. Purelymail would also make a good relay, although we’re still working on perfect deliverability.
Aside from deliverability, here’s a few of the things we’ve been working on:
- You can now pay with PayPal! We can’t charge you automatically through PayPal, however.
- We’re deployed Greylisting, which is an anti-spam technique to cut down on the number of messages that even make it to the spam filtering stage.
- We’ve made stability improvements and added better internal alerting! This is a constant area of improvement, but we’ve made good progress in creating a stable platform that can immediately alert us to any issues.
- We’ve added some documentation on security and deliverability.