How to Read Email Headers to Diagnose Spam Issues

Learn how to read email headers in Gmail, Outlook, and Apple Mail. Understand SPF, DKIM, and DMARC results to find and fix email deliverability problems fast.

Published on

Updated

How to Read Email Headers to Diagnose Spam Issues
Do not index
Do not index
A campaign goes out on schedule. Replies slow down, demos disappear, password resets don't arrive, and a healthy domain suddenly starts picking up spam placement. Often, the response involves rewriting copy, changing subject lines, or blaming the sending platform.
That usually wastes time.
When an email lands in spam, the fastest useful evidence is in the header. The header records the route, the authentication verdicts, and often the filter decisions that explain why a mailbox provider distrusted the message. For anyone trying to learn how to read email headers, the goal isn't to admire raw metadata. It's to turn that metadata into a diagnosis that protects inbox placement, sender reputation, and revenue.
Table of Contents

Why Your Emails Go to Spam and How Headers Hold the Clues

A message hits the spam folder. The copy looks fine, the links resolve, and the sending platform reports a successful send. The next step is not guesswork. It is the header.
Spam placement starts with a trust decision made by the receiving system. That decision can be driven by failed SPF, broken DKIM alignment, an unexpected relay in the path, a mismatched Return-Path, or a reputation problem attached to the sending domain or IP. The body matters, but it is only part of the evaluation. The header shows the infrastructure and policy checks that shaped the verdict.
Headers work like a flight recorder for the message. They capture where the mail came from, which servers handled it, how the sender identified itself, and what the receiving system concluded about authentication. When I debug a spam complaint, I want the raw header before I want a screenshot of the email. The screenshot shows symptoms. The header shows cause.
That one step avoids a common mistake: changing subject lines and body copy before confirming whether the message was technically trustworthy in the first place. A broken SPF include, a DKIM signature tied to the wrong domain, missing reverse DNS, or a message sent through an unapproved platform will all show up in header evidence long before content edits help.
A clean triage order keeps the work focused:
  • Check authentication first. Review SPF, DKIM, and DMARC results.
  • Check routing second. Inspect the Received chain for unknown servers, forwarding artifacts, or unusual delays.
  • Check identity alignment. Compare the visible From domain with the Return-Path and DKIM signing domain.
  • Check filter clues last. Read spam verdict headers if the receiver exposes them.
Manual parsing is still worth learning because it teaches you what mailbox providers evaluate. But manual reading does not scale well across campaigns, inbox providers, and sending tools. The better approach is to turn header review into a repeatable diagnostic workflow, then automate it so the output is not just raw data but specific remediation steps. That is the shift behind this guide, and it is also the problem mailX is built to solve for humans and AI agents. If you need the broader context behind these failure modes, start with this guide on why emails go to spam.

How to Find and View Full Email Headers

Users typically don't see full headers because email clients hide them behind menus. That's fine for normal reading, but it becomes a problem during deliverability debugging. The raw header is needed, not the simplified sender card.
The good news is that header access is standardized across major clients. Gmail, Outlook, and Apple Mail all expose full metadata through built-in options, which makes header analysis practical without third-party software, as documented in Salesforce's guidance on viewing internet headers.
notion image

Gmail

In Gmail, full headers are available through More > Show original.
That opens a page with the raw header and a simplified authentication summary near the top. For quick analysis, that summary is helpful, but the primary value is the raw text below it because the full Received chain, DKIM-Signature, Message-ID, and spam-related fields may all be present there.
Use this process:
  1. Open the message that landed in spam or the test message sent to a seed inbox.
  1. Click the three-dot menu in the message view.
  1. Choose Show original.
  1. Copy the full raw header text.

Microsoft Outlook

Outlook's path is different, but the goal is the same. In desktop Outlook, the usual route is File > Properties, then inspect Internet headers.
A few practical notes matter here:
  • Open the message in its own window. The header view is easier to access there.
  • Copy the full block. Partial header snippets often omit the oldest Received hops, which are frequently the most useful.
  • Keep the original line breaks. Some tools parse better when the raw formatting is preserved.

Apple Mail

Apple Mail exposes headers through the menu system rather than a small properties panel. The standard path is View > Message > All Headers.
That makes Apple Mail useful for quick inspection, especially when checking whether a forwarded or transactional email failed authentication. If the goal is collaborative debugging, it's still better to copy the raw content into a ticket or document so marketing, engineering, and infrastructure teams are looking at the same artifact.
A quick comparison helps:
Client
Where to click
Best use
Gmail
More > Show original
Fastest for webmail debugging
Outlook
File > Properties > Internet headers
Useful in enterprise environments
Apple Mail
View > Message > All Headers
Good for local mailbox inspection

Decoding Key Header Fields for Deliverability

A raw header can look chaotic. In practice, only a handful of fields solve most deliverability problems. The rest is context.
notion image

Received

The Received chain is the mail path. Each server that handles the message adds a line, so the chain must be read from the oldest hop upward when reconstructing the route. This is the primary routing evidence in a spam investigation.
What to look for:
  • Unexpected infrastructure. A sending path that includes an unrecognized relay often points to shadow tooling or misrouted mail.
  • Timing gaps. Delays between hops can reveal queueing or infrastructure trouble.
  • Domain inconsistencies. The originating path should make sense for the sending service in use.
A healthy pattern shows a coherent path from the sender's system to the recipient's MX. A bad pattern includes relays that don't belong, broken handoffs, or a path that doesn't match the visible sending domain.

Authentication-Results

This is the first header most deliverability engineers check. It records the receiving server's verdict on SPF, DKIM, and often DMARC.
According to MailSlurp's header analysis guide, the Authentication-Results header is critical because it explicitly states whether SPF or DKIM passed or failed, and the DKIM-Signature header reveals the selector and domain used for signing. That removes guesswork. The receiving system is telling the sender what it believed.
Use this interpretation model:
Result
What it means
Why it matters
SPF pass
The sending source is authorized
Supports trust in the sending path
SPF fail or permerror
The source isn't authorized or SPF is broken
Raises spam risk and can break DMARC
DKIM pass
The message signature validated
Confirms message integrity and signer domain
DKIM fail
Signature validation failed
Suggests broken signing, altered content, or bad DNS
DMARC pass
SPF or DKIM aligned with From domain
Strong identity signal
DMARC fail
No aligned authentication
A major spam or rejection risk
For a deeper technical foundation on protocol behavior, it helps to review email security protocols and how they work together.

Return-Path and DKIM-Signature

The Return-Path is where bounces go. It often differs from the visible From address, especially when a third-party platform sends on behalf of a domain. That difference can be normal, but it must still align with DMARC strategy.
A practical example helps:
Header element
Healthy signal
Risky signal
From
Branded domain visible to recipient
Branded domain that doesn't match any authenticated domain
Return-Path
Sending domain that matches expected platform setup
Unrecognized domain with no clear relationship to sender
DKIM-Signature d=
Domain expected to sign mail
Domain that doesn't fit the sender's infrastructure
If the visible From says one thing and the authentication path says another, mailbox providers notice.
For DKIM, the details matter. The selector in the DKIM-Signature points to the DNS record holding the public key. If the selector is wrong, stale, or missing, DKIM fails. If the message body is altered in transit, DKIM can also fail.
Subject lines sometimes appear encoded inside headers. When that happens, a developer tool for Base64 is useful for decoding header-encoded strings during troubleshooting without editing the original message.

Message-ID and spam verdict headers

The Message-ID is the message's unique identifier. It's extremely useful for correlating provider logs, support tickets, webhook events, and recipient complaints. When a user says, “the reset email never arrived,” Message-ID helps connect the exact message to the delivery trail.
Some environments also expose X-Spam-Score or X-Spam-Status. These can reveal the spam filter's verdict and sometimes why the message was treated as suspicious. They're not universal, but when present, they add useful context beyond authentication.

Connecting Headers to Real-World Deliverability Issues

A header only becomes useful when it leads to a fix. That means taking values from the header and checking the systems behind them.
notion image

What a suspicious pattern looks like

Some patterns are stronger than others.
A triple-authentication failure where SPF, DKIM, and DMARC all fail is a high-confidence phishing indicator with an approximately 92% success rate in immediately confirming malicious intent, according to Sendmarc's analysis of email headers. The same source notes that a mismatch between the visible From domain and the originating domain in the Received path is the most common spoofing technique, occurring in 78% of business email compromise attacks.
That matters for deliverability, not just security. Mailbox providers are trying to solve both problems at once. A message that looks spoofed is more likely to be filtered aggressively.
Common red flags include:
  • From and Return-Path mismatch. Sometimes valid, often worth verifying.
  • Triple fail in Authentication-Results. Strong sign the message isn't trustworthy.
  • Unexpected relay in the Received chain. Suggests hidden infrastructure or a compromised route.
  • Spam verdict headers showing a high score. Indicates content, reputation, or infrastructure issues compounded.

How to turn a header into action

A methodical workflow turns red flags into remediation steps:
  1. Pull the originating domain and server path from the header.
  1. Check whether reverse DNS and domain identity make sense for that sender.
  1. Verify whether the sending domain's SPF includes every legitimate sender.
  1. Confirm the DKIM selector used in the message exists and matches the expected domain.
  1. If delivery still fails, test inbox placement with a controlled seed send such as an inbox placement test.
A short decision table helps during triage:
Header clue
Likely issue
Next action
SPF fail
Missing authorized sender in SPF
Review all sending services and update SPF
DKIM fail
Broken signing or DNS mismatch
Check selector and published key
DMARC fail
Misalignment between From and authenticated domains
Review alignment before tightening policy
High spam score
Content or reputation issue
Check list hygiene, complaint patterns, and message composition

A Troubleshooting Workflow From Manual Analysis to Automation

A client sends over a header after a CEO email lands in spam. SPF passes. DKIM passes. The team assumes the domain is healthy. Twenty minutes later, the actual problem becomes clear. The message was routed through an unexpected relay, DMARC alignment was off, and the IP had no matching PTR record. That is the point where header reading stops being an academic skill and becomes an investigation process.
Manual header analysis still matters because it teaches cause and effect. It shows which identity checks passed, which server handled the message, and where the path stopped matching the sender's intended setup. But manual parsing is slow, inconsistent across reviewers, and hard to turn into a repeatable process when a team is managing multiple domains, vendors, transactional systems, outbound campaigns, and AI agents that can send mail faster than a human can audit it.
notion image

The manual workflow that works

Start with one affected message and treat it as evidence, not as an anecdote. Use the copy that hit spam, bounced, or never appeared. Pull the full header. Partial text misses the details that matter, especially the full Received chain and the exact Authentication-Results output generated by the receiving server.
Then work through the message in a fixed order:
  1. Confirm the symptom. Spam placement, hard bounce, soft bounce, deferral, or missing mail each points to a different class of issue.
  1. Parse Authentication-Results. Check SPF, DKIM, and DMARC together. A pass on one control does not offset a fail on another.
  1. Walk the Received chain from bottom to top. The lowest public hop is usually closest to the originating system. Look for relays you do not recognize, private IPs in places they should not appear, and timing gaps between hops.
  1. Check identity alignment. Compare From, Return-Path, and the DKIM d= domain. Passing authentication with the wrong domain alignment still causes filtering problems.
  1. Review provider verdict headers. If the mailbox provider exposes spam scores or internal flags, use them. They often show whether the message was penalized for reputation, content, bulk behavior, or infrastructure.
  1. Validate the sending environment outside the header. Check DNS records, MX, PTR, SMTP banner, and whether the sending IP and domain belong together operationally.
That workflow catches problems a simple pass or fail check misses. Google's sender guidelines make the trade-off clear. Authentication is expected, but Gmail still routes mail based on spam complaint rates and sender behavior. Google tells senders to keep spam rates in Postmaster Tools below 0.10% and warns that reaching 0.30% or higher can hurt placement, as stated in Google's sender guidelines.

Where manual parsing breaks down

The first limit is time. A deliverability specialist can review a few incidents carefully. They cannot manually normalize every header across marketing mail, product notifications, sales outreach, and support traffic without turning triage into a bottleneck.
The second limit is consistency. Two reviewers can read the same header and prioritize different issues. One stops at DKIM pass. Another notices the sending domain is aligned only on some streams. A third catches that the message originated from a host the security team never approved.
The third limit is automation. Raw headers are noisy input for software. AI agents can send campaigns, trigger transactional flows, and react to CRM events, but they need structured diagnosis, not a wall of text. If the output is just header data, a human still has to interpret it.

What good automation should do

The goal is not to replace header knowledge. The goal is to turn that knowledge into a repeatable diagnostic workflow that software can execute the same way every time.
A useful system should:
  • Parse raw headers into structured fields
  • Identify the highest-risk issue first instead of listing every field equally
  • Correlate header evidence with live checks across SPF, DKIM, DMARC, MX, PTR, DNS, SMTP, and blocklist status
  • Explain the operational consequence of each issue
  • Return specific remediation steps for the team that owns the fix
  • Expose the result through a web app, API, or MCP workflow so humans and AI agents can act on it
That last point is where the workflow changes. A sender does not need another tool that says “DKIM fail” and stops there. They need output like: “Selector s1 is referenced in the header but missing in DNS. Mail from your transactional platform cannot validate. Publish the key, resend a seed message, and confirm the receiving server reports dkim=pass.” That is the difference between manual interpretation and automated diagnosis.
mailX is built around that model. It takes the raw header, parses the message path and authentication results, runs the supporting infrastructure checks, and returns remediation steps that a marketer, engineer, or AI agent can use without translating the header by hand. For teams debugging spam placement across several systems, that saves time. For teams building AI-driven outbound or transactional workflows, it prevents blind sending from domains that are already showing warning signs.
A few guardrails still need human judgment:
  • DMARC rollout. Start with p=none, confirm alignment across all legitimate senders, then move to stronger enforcement. Acelle Mail's DMARC guidance outlines the usual progression.
  • SPF completeness. One missing sender in SPF can break mail from that provider even when everything else looks correct. Microsoft highlights this failure pattern in its discussion of SPF and DMARC fixes.
  • Behavioral metrics. Complaint rate, bounce rate, and list quality still affect placement after authentication is fixed.
The practical model is simple. Read enough headers manually to understand the failure modes. Then codify that process so every incident gets the same checks, the same prioritization, and the same next steps. That is how header analysis becomes an operating workflow instead of a one-off forensic exercise.

Frequently Asked Questions About Email Headers

Do passed authentication checks guarantee inbox placement

No. Passed SPF, DKIM, and DMARC tell mailbox providers the message is authenticated. They don't guarantee the sender has strong reputation or healthy behavior.
Inbox providers also evaluate sender reputation, engagement, list quality, complaints, and content. Bounceproof's analysis of spam placement after authentication notes that authentication can show as PASS while reputation remains Medium or Low and still routes email to spam.

Which header should be checked first

The best first check is Authentication-Results.
It gives the fastest explanation of whether the receiving server trusted the message identity. After that, check the Received chain and then compare From, Return-Path, and DKIM signing domain.

Can a team fix deliverability without reading headers

Usually not with confidence.
Without header analysis, it's hard to separate an infrastructure failure from a reputation issue. That leads to trial-and-error fixes, which often delay recovery and create new problems.

How should DMARC be rolled out

Start cautiously.
The usual progression is p=none for monitoring, then p=quarantine, then p=reject after alignment issues are cleaned up. When DMARC is set to reject, unauthenticated mail is dropped rather than quarantined, as explained in Valimail's overview of DMARC enforcement.

Can AI agents check headers automatically

Yes, but only if they have structured tooling.
Raw headers are hard for agents to interpret reliably. Systems that transform header text into normalized verdicts and remediation steps are far more useful than simple “show original” views. That's especially important for teams running outbound, onboarding, and transactional email inside automated workflows.
Email deliverability issues usually come from authentication, DNS, reputation, blacklist status, or infrastructure signals. Headers expose those signals, but raw header text still requires manual interpretation, which is often difficult to scale.
mailX by Mailwarm is built for that exact gap. It's a free suite of DNS lookup, email deliverability, and network tools for humans and AI agents. Teams can run a full deliverability audit, check SPF, DKIM, DMARC, BIMI, MX, SMTP, IMAP, blacklist status, and domain configuration, then get clear explanations and exact remediation steps instead of raw output. For developers and agent workflows, mailX is API and MCP ready. The fastest next step is to run a live check and see what's hurting inbox placement.

Most senders lose 30–70% of their emails to spam without knowing it.

Get a free expert audit of your domain, email authentication, and infrastructure. Identify hidden issues and fix them fast.

Book Your Free Deliverability Audit

CEO Mailwarm, email deliverability expert.