Skip to content
Pidgely
  • deliverability
  • troubleshooting
  • authentication

Why Your Emails Go to Spam: A Troubleshooting Guide

Find out why your emails land in spam: a step-by-step guide to authentication, reputation, list quality, content and infrastructure, with checks to run today.

Pidgely teamPublished 5 min readMarkdown version

On this page
  1. Step 1: Read the evidence in a real message
  2. Step 2: Fix authentication
  3. Step 3: Check reputation
  4. Step 4: Examine the list and engagement
  5. Step 5: Review content and links
  6. Step 6: Check infrastructure
  7. Common patterns and likely causes
  8. How to recover
  9. Checklist
  10. Frequently asked questions

Emails usually land in spam for one of five reasons: authentication is missing or not aligned with the From domain, the sender's domain or IP reputation is poor, the list contains people who did not ask for or no longer want the mail, the content or links look suspicious, or the infrastructure is misconfigured (no reverse DNS, no TLS, a listed IP). To fix it, work in that order: confirm SPF, DKIM and DMARC pass aligned in a real message, check reputation in Google Postmaster Tools and Microsoft SNDS, then look at list quality and engagement before you touch content.

Step 1: Read the evidence in a real message

Send a message to a Gmail, Outlook.com or Yahoo test mailbox that receives it in spam and open the raw source ("Show original" in Gmail). Find the Authentication-Results header:

text
Authentication-Results: mx.google.com;
       dkim=pass header.i=@example.net header.s=k1;
       spf=pass smtp.mailfrom=bounces.example.net;
       dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=example.com

This message passed SPF and DKIM, but for example.net, not the From domain example.com, so DMARC fails. That is a frequent root cause when using a vendor without custom domain setup. Every result here should be pass, aligned with header.from.

Gmail also shows a banner above spam messages explaining the reason ("This message is similar to messages that were identified as spam in the past", "Gmail could not verify that it actually came from..."). Treat it as a hint.

Step 2: Fix authentication

Check each protocol directly:

bash
dig +short TXT example.com | grep spf1
dig +short TXT s2026._domainkey.example.com
dig +short TXT _dmarc.example.com

Common findings:

  • No DKIM with your own domain, only the provider's.
  • SPF permerror: two SPF records, or more than 10 DNS lookups (RFC 7208).
  • No DMARC record, which Google's and Yahoo's requirements mandate for bulk senders since February 2024.
  • List-Unsubscribe added after DKIM signing, which breaks one-click unsubscribe validation.

Step 3: Check reputation

Google Postmaster Tools

Verify your domain and look at:

  • Spam rate: according to Google's sender guidelines, keep it below 0.1% and never reach 0.3%.
  • Domain and IP reputation, where available.
  • Authentication and encryption rates.
  • Compliance status against the sender requirements.

Microsoft SNDS and other signals

Microsoft's Smart Network Data Services shows whether your IPs are green, yellow or red and whether they hit spam traps. Also check major blocklists, starting with Spamhaus, for your IPs and domains. A listing often explains a sudden change at many receivers at once.

Your SMTP logs

Rejections and deferrals often tell you exactly what is wrong:

text
550 5.7.26 Unauthenticated email from example.com is not accepted due to domain's DMARC policy
421 4.7.28 Our system has detected an unusual rate of unsolicited mail originating from your IP address
550 5.7.1 Service unavailable; Client host [203.0.113.10] blocked using Spamhaus

Group responses by receiving domain and enhanced status code to see which provider is unhappy.

Step 4: Examine the list and engagement

Reputation is built from how recipients react. Filters at large providers lean heavily on engagement: opens, replies, moving messages out of spam, deleting without reading, and "Report spam" clicks. The usual culprits:

  • Old or purchased lists. Addresses that bounce, and recycled addresses turned into spam traps.
  • No confirmed opt-in, so typos and fake signups enter the list.
  • Mailing inactive subscribers forever. People who have not opened in many months drag down engagement; run a sunset policy that stops mailing them.
  • Unexpected frequency. Doubling the cadence for a sale often doubles complaints.
  • Hard-to-find unsubscribe, which turns "I'm not interested" into "Report spam".

If you see a complaint spike after a specific campaign, look at which segment it went to.

Content matters less than reputation, but it still matters:

  • Link domains: every domain in your links has a reputation. A link to a domain that has been abused (including some URL shorteners) can flag the whole message.
  • Mismatched link text and target, like visible https://example.com pointing to another domain.
  • Image-only messages with little text.
  • Broken HTML, missing text/plain part, or huge messages. Gmail clips messages over about 102 KB of HTML.
  • Tracking domains that do not match your brand. Use a custom tracking subdomain such as links.example.com.
  • Attachments of risky types.

Avoid "spam word" superstition. Removing the word "free" will not fix an authentication or reputation problem.

Step 6: Check infrastructure

  • Reverse DNS: each sending IP needs a PTR record resolving to a hostname that resolves back to the IP.
  • HELO/EHLO name that matches the PTR hostname, not localhost.
  • TLS on outbound connections.
  • New IPs that were not warmed up.
  • Shared IPs used by other senders with poor practices.
  • Valid headers: a Message-ID, Date and a single From, as RFC 5322 requires.

Common patterns and likely causes

SymptomLikely cause
Everything to spam at all providers suddenlyBlocklisting, DNS change broke authentication, compromised account
Spam at Gmail onlyDomain reputation or spam rate at Gmail
Spam at Outlook onlyIP reputation at Microsoft (check SNDS)
Only one campaign in spamThat segment, that content, or a link domain
Transactional mail in spamShared reputation with marketing
Gradual decline over monthsList aging, falling engagement

How to recover

  1. Fix authentication first; it is binary and fast.
  2. Pause sends to unengaged segments.
  3. Send only to recent engagers for a while, at steady volume.
  4. Process bounces and complaints automatically.
  5. Request delisting only after fixing the cause.
  6. Watch Postmaster Tools trend over weeks, not days. Reputation recovers slowly.

Checklist

  • [ ] SPF, DKIM and DMARC pass and align with the From domain
  • [ ] Domains verified in Postmaster Tools; IPs checked in SNDS and blocklists
  • [ ] SMTP responses grouped by provider and status code
  • [ ] Bounces and complaints suppressed automatically
  • [ ] Inactive subscribers sunset
  • [ ] Links use reputable, branded domains
  • [ ] PTR, EHLO and TLS correct on every IP

Pidgely surfaces these signals in one place: authentication status per domain, bounce and complaint rates per stream, and a reputation guard that pauses sending before thresholds damage your domain.

Frequently asked questions

What is the most common reason emails go to spam?

For legitimate senders, the most common causes are missing or misaligned authentication (SPF, DKIM, DMARC) and poor sender reputation caused by complaints, bounces or mailing people who are not engaged.

Can content alone send an email to spam?

It can contribute, through things like URL shorteners, links to domains with bad reputation, or image-only messages, but modern filters weigh reputation and recipient engagement much more heavily than individual words.

How do I check why Gmail put my message in spam?

Open the message in Gmail, use Show original to read the Authentication-Results header, check the banner Gmail displays above spam messages, and review spam rate and domain reputation in Google Postmaster Tools.

Why do my emails go to spam at Outlook but not Gmail?

Each provider uses its own filters and reputation data. Check Microsoft SNDS for your IP status, look for 4.7.x or 5.7.x responses from Microsoft servers, and compare engagement for Outlook recipients specifically.

Pidgely team

Published

We build Pidgely, the email API that gets you to the inbox. We write about what we learn delivering email, citing the standards and mailbox provider guidelines behind every claim.

Also available in: