How do I read email headers to check if a message is fake?
Short answer
Open the full message source and look at the Authentication-Results line for SPF, DKIM and DMARC results, compare the From, Reply-To and Return-Path addresses, and read the Received lines from bottom to top to see where the message really came from.
The details
A DMARC pass for the visible From domain is a strong sign the message was sent by that domain’s authorized servers. A Reply-To address on a different domain is a common sign of invoice fraud. A header analyzer can parse this for you without sending the message anywhere.
Useful next reads and tools
Terms explained
- DMARC
- DMARC is a DNS policy that tells receiving mail servers what to do with email that fails SPF and DKIM alignment for your domain, and where to send reports about it.
- Business email compromise
- Business email compromise (BEC) is fraud in which a criminal impersonates or takes over a trusted email account to trick an organization into sending money or sensitive data.
- DKIM
- DKIM (DomainKeys Identified Mail) adds a cryptographic signature to outgoing email so receivers can verify it came from an authorized sender for the domain and was not altered in transit.
- SPF
- SPF (Sender Policy Framework) is a DNS record listing the servers allowed to send email for a domain.
Sources
Related questions
Related Guides
GuideWeb Security
How to Protect Your Projects From Malicious npm Packages (and What GitHub's New Package Firewall Does)
GitHub launched a package firewall that blocks risky npm packages before they install. Learn how it works, who can use it and 10 steps any team can take today.
Read more GuideWeb Security
How to Check Security Headers of a Website
Learn how to check security headers of a website using browser developer tools and terminal commands to defend against clickjacking, XSS, and MIME sniffing.
Read more GuideWeb Security
PHP2Shell (CVE-2026-109618 and CVE-2026-109619): How to Patch, Mitigate and Detect Attacks
Two critical PHP flaws allow unauthenticated remote code execution. See who is affected, the fixed versions, temporary mitigations and what to watch for in your logs.
Read more GuideWeb Security
A Practical Guide to HTTP Security Headers for Web Developers
Why modern web applications need CSP, HSTS, and X-Content-Type-Options, and how to configure them properly in Next.js and Nginx.
Read more