Skip to content
SendPath

Guide

Why your emails go to spam: 9 causes and fixes

Spam placement almost always comes down to one of nine things. Most take a minute or two to check, and the first three are DNS records, which are the quickest to check and fix. Work through them in order, or use the ten-minute triage below to find your cause first.

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

CauseWhat providers judgeQuickest checkUsual time to fix
1. SPF missing or brokenWho you areSPF checkerMinutes, then the DNS wait
2. DKIM not signingWho you areDKIM checkerMinutes, then the DNS wait
3. No DMARC, or not alignedWho you areDMARC checkerMinutes to add; weeks to tighten safely
4. New, unwarmed mailboxHow you behaveAge of the domain and mailboxAbout two weeks of a slow start
5. Too much, too fastHow you behaveToday's count against last week'sSame day: lower the cap
6. Invalid or old addressesHow you behaveEmail verifier and your bouncesBefore the next send
7. Spammy contentWhat you sentSpam word and outreach email checkersMinutes
8. On a blocklistHow you behaveA public blocklist lookupDays to weeks, set by the list
9. No easy unsubscribeHow you behaveRead your last email as a recipientMinutes

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

  1. Keep one SPF record per domain. If you find two, merge them into one.
  2. List every service that sends for you: your mailbox provider and any sending tool.
  3. End the record with ~all.
  4. 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

  1. In your mailbox provider’s admin settings, find the DKIM (email authentication) page.
  2. Copy the record it gives you into your DNS as a TXT record, at the host name it shows.
  3. 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

  1. Start with p=none. It only reports and never blocks your mail.
  2. Add an address for the reports if you want to see who sends as your domain.
  3. 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

  1. Start with a handful of emails a day, to people likely to read them.
  2. Add a little more each day, rather than a big step at once.
  3. 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

  1. Set a daily cap on every mailbox, and keep it modest.
  2. Spread your volume over more mailboxes, and over more than one domain if you send a lot.
  3. 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

  1. Verify your list before you send to it.
  2. Remove shared role addresses such as info@ and anything that has bounced.
  3. 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

  1. Write as you would to one person, in plain sentences.
  2. Use one link, or none, in a first email, and no short links.
  3. Keep capitals, exclamation marks and emoji out of the subject, and never fake a “Re:”.
  4. 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

  1. Stop sending until you know why.
  2. Find the cause. It is usually a bad list or a spike in complaints.
  3. 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

  1. Put a working unsubscribe link in every email.
  2. Add your postal address. US law (CAN-SPAM) asks for one in commercial email.
  3. Use an honest From name and an honest subject.
  4. 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

SendPath checks your list, your mailbox and your message before every email goes out, and re-checks your domain’s DNS every day.

FAQ

Questions, answered

Why do my emails go to spam even though SPF, DKIM and DMARC pass?+

Passing those three records only proves who you are. Mail providers also judge how you behave (volume, bounces, complaints, how new the mailbox is) and what you sent (the message and its links). If your DNS passes, work through causes 4 to 9.

How can I tell whether an email went to spam?+

Send a short plain note to a Gmail and an Outlook address of your own and look in the inbox, the Promotions tab and the spam folder. Then open the Gmail message and choose Show original to see the SPF, DKIM and DMARC results. Google Postmaster Tools adds a domain-level view if you send a lot to Gmail.

Can SPF alone fix spam?+

No. SPF is one of three records mail providers look at, and DKIM and DMARC matter as much. None of them helps if the list or the message is the problem. The free domain check shows all three in one run.

How long does warm-up take?+

About two weeks before a mailbox is ready for campaigns in SendPath, and warm-up keeps running at a lower volume after that. When you start campaigns, start small and grow.

Is it my domain or my content?+

Send a short plain-text note from the same address to a Gmail or Outlook address of your own. If that lands in spam, look at the domain: DNS, age and volume (causes 1 to 5 and 8). If it lands in the inbox and your campaign emails don't, look at the message and the list (causes 6, 7 and 9).

Does a new domain land in spam by default?+

Not by default, but mail providers have no history to trust yet, so a new domain needs a careful start: DNS set up first, then a small volume that grows.

What bounce rate is too high?+

Keep it as low as you can and watch it; there is no safe number to promise. As a safety stop, SendPath pauses a mailbox when its bounces go over 5% after 50 emails sent. That is where it stops, not a safe level.

All guides