# 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.

Source: https://pidgely.com/blog/why-emails-go-to-spam/ · Published: 2026-10-12 · Pidgely

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.

## Step 5: Review content and links

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

| Symptom | Likely cause |
| --- | --- |
| Everything to spam at all providers suddenly | Blocklisting, DNS change broke authentication, compromised account |
| Spam at Gmail only | Domain reputation or spam rate at Gmail |
| Spam at Outlook only | IP reputation at Microsoft (check SNDS) |
| Only one campaign in spam | That segment, that content, or a link domain |
| Transactional mail in spam | Shared reputation with marketing |
| Gradual decline over months | List 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.

