Mail providers decide where a message goes from three things: who you are (your DNS records), how you have behaved (your volume, bounces and complaints) and what you sent (the message itself). Each cause below belongs to one of them, and each has a quick check and a fix. The docs page How inboxes decide goes deeper on the reasoning.
The nine causes at a glance
| Cause | What providers judge | Quickest check | Usual time to fix |
|---|---|---|---|
| 1. SPF missing or broken | Who you are | SPF checker | Minutes, then the DNS wait |
| 2. DKIM not signing | Who you are | DKIM checker | Minutes, then the DNS wait |
| 3. No DMARC, or not aligned | Who you are | DMARC checker | Minutes to add; weeks to tighten safely |
| 4. New, unwarmed mailbox | How you behave | Age of the domain and mailbox | About two weeks of a slow start |
| 5. Too much, too fast | How you behave | Today's count against last week's | Same day: lower the cap |
| 6. Invalid or old addresses | How you behave | Email verifier and your bounces | Before the next send |
| 7. Spammy content | What you sent | Spam word and outreach email checkers | Minutes |
| 8. On a blocklist | How you behave | A public blocklist lookup | Days to weeks, set by the list |
| 9. No easy unsubscribe | How you behave | Read your last email as a recipient | Minutes |
See what Gmail saw
Before you work through the causes, ask Gmail itself. Send a short plain note from the mailbox you use for outreach to a Gmail address of your own, open it, choose the three-dot menu and then Show original. At the top, Gmail lists SPF, DKIM and DMARC with a result for each. Three passes mean your DNS is fine, and the cause is probably 4 to 9. A fail, or a missing line, points at causes 1 to 3. If you send a lot to Gmail addresses, Google’s free Postmaster Tools also shows your domain’s reputation and spam rate over time.
1. Your SPF record is missing or broken
SPF is a DNS record that lists the servers allowed to send email for your domain. Without it, a mail provider cannot tell your mail from a forgery. It also breaks in a few common ways: two SPF records on one domain, more than 10 DNS lookups, or a service you send through that is not listed.
Check it in a minute
Type your domain into the SPF checker. It shows your record and whether there is one record only and it ends safely.
Fix it
- Keep one SPF record per domain. If you find two, merge them into one.
- List every service that sends for you: your mailbox provider and any sending tool.
- End the record with
~all. - Stay within 10 DNS lookups in total. Each
include:counts, and so do the lookups inside it.
The SPF record generator builds the record for you, and SPF for Google Workspace walks through the most common setup.
2. DKIM is not signing your mail
DKIM adds a signature to every message that proves it really came from your domain and was not changed on the way. Your email provider creates the key and you publish it in DNS. If that step was skipped, your mail goes out unsigned.
Check it in a minute
The DKIM checker looks for your key under the names most providers use. If it says it could not check, your provider may use another name; its DKIM settings will say whether the key is published.
Fix it
- In your mailbox provider’s admin settings, find the DKIM (email authentication) page.
- Copy the record it gives you into your DNS as a TXT record, at the host name it shows.
- Many providers also need you to switch signing on once the record is live, so check for a button that says so.
3. There is no DMARC, or it does not align
DMARC tells receiving servers what to do with a message that fails SPF and DKIM. It also checks that the domain in your From address matches the domain SPF or DKIM verified, which is called alignment. Gmail and Yahoo ask bulk senders to have it, and a domain without one looks less trustworthy to every provider.
Check it in a minute
Run the DMARC checker. It shows whether a record exists and which policy it sets.
Fix it
- Start with
p=none. It only reports and never blocks your mail. - Add an address for the reports if you want to see who sends as your domain.
- Once SPF or DKIM passes for every service that sends for you, move to quarantine, then reject.
The DMARC record generator explains each setting as you pick it.
4. A new domain or mailbox that has not been warmed up
A new domain or mailbox has no history, so mail providers have nothing to trust. Sending a lot from day one looks exactly like what spammers do. Warm-up builds a history by starting small and growing slowly.
Check it in a minute
Is the domain or the mailbox less than a few weeks old, or did you just move to it? If so, treat it as new.
Fix it
- Start with a handful of emails a day, to people likely to read them.
- Add a little more each day, rather than a big step at once.
- Hold your campaigns until it has been running for about two weeks.
SendPath’s warm-up starts at 3 emails a day and adds 2 more each day, and a mailbox counts as ready after about two weeks, once its warm-up mail reliably reaches the inbox. See Warm-up in the docs.
5. Sending too much, too fast
Even a warmed mailbox gets flagged when its volume jumps. Providers watch for sudden changes, and one mailbox sending hundreds of emails a day looks very different from several mailboxes each sending a few dozen.
Check it in a minute
Compare what each mailbox sent today with what it sent last week. A sudden jump is the signal.
Fix it
- Set a daily cap on every mailbox, and keep it modest.
- Spread your volume over more mailboxes, and over more than one domain if you send a lot.
- Raise the volume in small steps.
In SendPath, plan on about 30 campaign emails a day per mailbox and 2 to 3 mailboxes per domain. The docs page Choosing a sending domain explains why.
6. A list with invalid or old addresses
An address that does not exist bounces, and every bounce tells providers you are sending to a list you did not build carefully. Old lists are worse: addresses are recycled over time, and some of them become spam traps.
Check it in a minute
Type an address into the email verifier. It checks the format, the kind of address and whether the domain takes mail. It does not ask the mailbox itself; checking that a mailbox really exists is part of the free trial.
Fix it
- Verify your list before you send to it.
- Remove shared role addresses such as info@ and anything that has bounced.
- Do not send again to a list that bounced heavily. Clean it and verify it first.
7. Content that looks like spam
Spam filters read the message. Hype words, too many links, link shorteners, a subject in capitals or with a fake reply marker, and image-only emails all count against you, and a misleading subject line does the most damage with readers.
Check it in a minute
The spam word checker highlights the words filters dislike. The outreach email checker scores the whole message: the unsubscribe link, links, length and tone.
Fix it
- Write as you would to one person, in plain sentences.
- Use one link, or none, in a first email, and no short links.
- Keep capitals, exclamation marks and emoji out of the subject, and never fake a “Re:”.
- Send real text with light formatting, not one big image.
8. Your domain or IP address is on a blocklist
A blocklist is a public list of domains and IP addresses that mail providers have seen sending spam. Being listed can send a large share of your mail to spam at once, whatever the individual messages say.
Check it in a minute
Look up your sending domain in a public blocklist lookup. If you send through your own server or a sending service, look up its IP address too.
Fix it
- Stop sending until you know why.
- Find the cause. It is usually a bad list or a spike in complaints.
- Fix the cause, then follow that list’s own process to ask for removal.
9. No easy way to unsubscribe, so people report spam
When people cannot unsubscribe easily, they press Report spam instead, and complaints weigh heavily with mail providers. An unsubscribe link is the cheapest way to keep a complaint from happening.
Check it in a minute
Open your last email as a recipient would. Is there a clear unsubscribe link, your postal address and a From name that says who you are?
Fix it
- Put a working unsubscribe link in every email.
- Add your postal address. US law (CAN-SPAM) asks for one in commercial email.
- Use an honest From name and an honest subject.
- Suppress anyone who opts out straight away, and never add them back.
Gmail and Yahoo show a one-click unsubscribe button when an email carries the right headers, and SendPath adds those headers to every email it sends.
The rules Gmail and Yahoo now apply
Google’s email sender guidelines ask anyone who sends more than 5,000 messages a day to Gmail addresses to authenticate with SPF and DKIM, publish a DMARC record whose From domain lines up with SPF or DKIM, offer one-click unsubscribe, and keep the share of messages recipients report as spam below 0.1% and never reach 0.3%. Yahoo asks for much the same. Below that volume the rules are softer, but the same habits are what keep a small sender out of spam too.
A worked example
This is an illustration, not a customer result. A founder sends 40 emails a day from a three-week-old mailbox on a new domain and hears almost nothing back. She sends a note to her own Gmail address and opens Show original: SPF passes, DKIM fails, and DMARC is missing. That is causes 2 and 3, so she turns on DKIM signing in her mailbox provider’s admin settings, adds a DMARC record at p=none, waits for DNS to update, and sends the same note again. Now all three pass. Next she verifies her list, finds a few hundred addresses that are not valid, and removes them. Only then does she restart her campaign, at a lower daily volume than before, and raise it a little each day. Three small, checkable fixes, in the order of this guide.
When this guide will not help
- Your emails reach the inbox but nobody replies. That is about who you write to and what you offer, not about spam placement.
- The list was bought or scraped, or the people never asked. No setting fixes that: complaints decide where your mail goes, and they follow the list.
- Your domain is on a major blocklist. Removal follows that list’s own process and can take days or weeks, whatever you change on your side.
- You expect a guarantee. No tool or checklist can promise inbox placement; the steps here remove the usual reasons for spam, and the rest depends on your list and your writing.
Where to start
If you only have ten minutes, run the domain check first: DNS problems are the quickest to find and fix, and they affect every message you send. Then look at your list, then at your message.
Related
- Deliverability checklist · Everything to check before and while you send.
- How inboxes decide · What mail providers look at, in plain words.
- Choosing a sending domain · Why a separate domain, and how many mailboxes.
- SPF for Google Workspace · The exact record, step by step.
- All guides · More guides and the free tools.