Email deliverability is the share of your mail that reaches the inbox rather than the spam folder or a bounce. It comes down to three things: authentication (SPF, DKIM, and DMARC that pass), reputation (low bounce and complaint rates and steady volume), and recipients who asked for your mail. The big mailbox providers now publish hard rules for all three, so start there.
The rules Gmail, Yahoo, and Outlook enforce
These are requirements, not tips. Mail that misses them gets filtered or rejected.
| Requirement | Gmail | Yahoo | Outlook.com |
|---|---|---|---|
| All senders | SPF or DKIM, valid forward and reverse DNS, TLS | SPF or DKIM, valid forward and reverse DNS | |
| Bulk senders (5,000+ a day) | SPF and DKIM and DMARC (p=none is enough), From domain aligned | SPF and DKIM and DMARC (at least p=none), aligned | SPF, DKIM, and DMARC passing, since May 5, 2025 |
| Spam complaint rate | Under 0.3%, aim for under 0.1% | Under 0.3% | |
| Unsubscribe | One-click (RFC 8058) on marketing and subscribed mail, plus a visible link | One-click, honored within 2 days |
Sources: Google's email sender guidelines, Yahoo's sender best practices, and Microsoft's requirements for high-volume senders.
"Aligned" means the domain in your From address matches the domain that passed SPF or DKIM. If you send through a provider like Amazon SES, its DKIM signs as your domain once you publish its records. The DNS records guide has every value, including the MAIL FROM records that make SPF align too.
Authenticate every sending domain
Publish SPF, DKIM, and DMARC on every domain you send from, not only the main one. A product with its own domain needs its own records.
- One SPF record per domain, with every service that sends for you merged into it. A second SPF record breaks SPF entirely.
- DKIM for every sending service. Each provider gives you its own records.
- DMARC starting at
p=nonewith aruaaddress, so you get reports before you enforce anything. Move top=quarantineand thenp=rejectonce the reports show only your own services sending.
For what each record does, see SPF, DKIM, and DMARC explained.
Keep bounces and complaints under the limits
Mailbox providers and your sending provider both watch these two numbers. Amazon SES publishes its thresholds in its sending review FAQ:
| Metric | Aim for | SES puts the account under review | SES may pause sending |
|---|---|---|---|
| Bounce rate | Under 2% | 5% | 10% |
| Complaint rate | Under 0.1% | 0.1% | 0.5% |
What keeps them low, from the same FAQ:
- Remove hard bounces immediately. An address that bounced once will bounce again.
- Never buy, rent, or share lists. They are full of dead addresses and spam traps, addresses that exist only to catch senders who mail people who never signed up.
- Use double opt-in so every address is confirmed by its owner before you send anything else.
- Stop mailing people who never engage. If someone hasn't opened or clicked in months, they are more likely to complain, and old addresses can turn into spam traps.
- Send only what people signed up for. Someone who signed up for product updates and receives promotions is a likely complaint.
Mailmark checks every send against its suppression list and recipient verification results, so an address that hard bounced is blocked before it reaches SES. The free email list validator checks a list for syntax errors, disposable domains, and missing MX records before you import it.
Warm up new domains and mailboxes
A new domain or mailbox has no sending history, so mailbox providers treat a sudden burst of mail from it with suspicion. Build volume gradually: start small, send to your most engaged recipients first, and grow week by week instead of jumping from tens of messages to thousands overnight.
Mailmark automates this with inbox warming: the mailbox exchanges real messages with a network of accounts that open them, reply, and move them out of spam, starting at a handful a day and ramping up over the run. See the warmup docs for the speed plans and the health score.
The same rule applies after warmup. A large campaign from a domain that normally sends a few hundred messages a day is a spike. Split it over several days, engaged recipients first.
Make unsubscribing easy
For bulk senders this is a hard requirement. Gmail and Yahoo both want one-click unsubscribe: two headers defined in RFC 8058.
List-Unsubscribe: <https://example.com/unsubscribe/abc123>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
Add a visible unsubscribe link in the body too, and honor requests quickly (Yahoo asks for 2 days). Mailmark adds both headers to every campaign and sequence message.
Monitor the signals that matter
- Google Postmaster Tools shows your spam rate at Gmail, the number Google's 0.3% limit applies to. Register your domain at postmaster.google.com.
- Your sending provider's bounce and complaint rates. On SES these are the reputation metrics in the console.
- Blacklists. A listing on a major blocklist sends mail to spam or gets it rejected outright. The free deliverability checker checks your domain against the main lists along with SPF, DKIM, DMARC, and MX.
- Replies and clicks over opens. Engagement still matters, but replies and clicks tell you more about it than open counts do.
Troubleshooting
| Symptom | Likely cause | First thing to check |
|---|---|---|
| Everything goes to spam at once | Authentication broke (a DNS change removed SPF or DKIM) | Run the domain through the deliverability checker |
| Gmail rejects mail mentioning authentication | Missing SPF, DKIM, or DMARC for a bulk sender | DMARC record and alignment |
| One provider filters you, others don't | Reputation with that provider | Postmaster Tools for Gmail, complaints from that domain |
| Bounce rate climbing | Old or unverified addresses on the list | When the list was last mailed, and how addresses were collected |
| Complaints after one campaign | Content people didn't sign up for, or a long gap since the last send | What the signup form promised |
If your mail already lands in spam, why your emails land in spam walks through diagnosing and fixing each cause.
Frequently asked questions
What is the difference between delivery rate and deliverability?
Delivery rate counts messages the receiving server accepted. Deliverability is whether they reached the inbox. A message can be delivered straight into the spam folder.
What spam complaint rate is too high?
Gmail and Yahoo require bulk senders to stay under 0.3% and Google recommends staying under 0.1%. Amazon SES puts an account under review at a 0.1% complaint rate.
What bounce rate is acceptable?
Amazon SES recommends staying below 2%. At 5% it places the account under review, and at 10% it may pause sending.
Do I need DMARC if I send fewer than 5,000 emails a day?
Gmail only requires it of bulk senders, but a p=none DMARC record costs nothing, gives you reports on who sends as your domain, and is required the day your volume crosses the threshold.
How long does it take to fix a damaged sender reputation?
There is no fixed timeline. Mailbox providers re-evaluate as they see new mail, so fix the cause first, then send only to your most engaged recipients and grow volume gradually.