Free email header analyser. Decode SPF, DKIM, DMARC results, trace routing, and detect spoofing
Every email message carries a block of metadata called headers, added by each mail server that handles it. Defined in RFC 5322 and extended by RFC 2822, these headers record who sent the message, who received it, when, via which route, and the authentication verdicts from each server along the way. This tool parses that raw header block and presents all of it in a structured, tab-organised format. Authentication results, routing path, spam scores, and every individual header field.
The Authentication tab shows SPF, DKIM, and DMARC results extracted from the Authentication-Results header. The most authoritative authentication signal in any email, because it is written by the receiving server (which you control or trust) rather than by the sender. A message with all three passing is authenticated end-to-end. Any failure is worth investigating: it may indicate a spoofed sender, a domain with weak authentication, a phishing attempt, a misconfigured mail server, or a legitimate message forwarded through a relay that broke SPF alignment.
The Routing tab reconstructs the delivery path chronologically from the originating server to your inbox, with per-hop timestamps and delay calculations. The originating IP, extracted from the oldest Received header, is the actual IP address of the server that first injected the message into the internet's mail infrastructure. Unlike the From: header (which any attacker can forge), the originating IP cannot be spoofed because it is written by your receiving server, not the sender. Discrepancies between the claimed sending domain and the originating IP's registered owner are among the strongest indicators of a spoofed or phishing message.
Why reading email headers is essential for security, deliverability, and phishing investigation
Email headers are the ground truth of email delivery. While the visible interface of an email client shows you only From:, Subject:, and Date:, all three of which can be trivially forged, the headers show the actual servers that handled the message, the cryptographic authentication results that cannot be faked, and the routing timeline that reveals whether the message travelled a normal or suspicious path. For anyone investigating a suspicious email, the headers are always the first stop.
For email deliverability troubleshooting, headers reveal what actually happened to a message. Not what was supposed to happen. A transactional email that is landing in spam will show an elevated X-Spam-Score and often a DMARC p=none policy (monitoring mode, no enforcement), a missing DKIM signature, or an SPF softfail. The headers tell you exactly which of these is the problem. Checking the same information at the DNS level using the Email Health Checker or the Email Privacy Auditor confirms whether the issue is a configuration gap or a per-message authentication failure.
For security investigations, headers expose Business Email Compromise (BEC) attempts and phishing emails that visual inspection alone cannot catch. The most sophisticated phishing emails are visually identical to legitimate messages. Same logo, same formatting, same domain in the visible From: field. The headers reveal the reality: a DMARC fail, an SPF fail from an unrecognised IP, a missing DKIM signature, and a Return-Path pointing to an attacker-controlled domain. This combination is unmistakable in the headers even when the email looks completely authentic to a non-technical recipient.
For email marketing and cold outreach, headers provide confirmation that your authentication stack is working correctly for delivered messages. DKIM is signing, SPF is passing, and DMARC is aligned. A single real sent message analysed here gives you more certainty than any DNS checker, because you are seeing the authentication result that the actual receiving server reported for that specific message.
Common email header analysis findings: what they mean and what to do
Most authentication failures and suspicious patterns in email headers fall into a small number of recognisable patterns. Here is what each one means and how to respond.
Authentication results explained: what each outcome means and how to respond
Five real-world header patterns covering the most common authentication outcomes from fully authenticated to spoofed.
SPF pass confirms the sending server is authorised by the domain's DNS. DKIM pass confirms message content was not modified in transit. DMARC pass with p=reject means the domain enforces its policy. Two hops and under one second total delivery time indicates clean, direct delivery with no suspicious relay involvement.
The From: header claims the email is from victim.com but the actual infrastructure belongs to attacker.com. SPF fails because attacker.com's servers are not authorised for victim.com. DKIM is absent entirely. This is a classic Business Email Compromise (BEC) attempt. The p=reject DMARC policy caused receiving servers to block delivery.
SPF softfail (~all) means the sending server is not in the authorised list but the domain has not explicitly blocked it. DKIM still passes and DMARC passes on DKIM alignment. The p=none policy means no enforcement action is taken. This is typical of domains in DMARC monitoring mode before upgrading to quarantine or reject.
Email forwarding breaks SPF because the forwarding server's IP is not in the original sender's SPF record. DKIM passes because the signature travels with the message intact. DMARC passes on DKIM alignment so the message is delivered despite the SPF failure. This is normal behaviour for alumni forwarding, mailing lists, and server-side redirect rules.
Legitimate email from major providers typically delivers in 1-30 seconds via 2-4 hops. Twelve hops and a four-hour delay strongly suggest the message was held in a spam queue or passed through multiple untrusted relay servers. The absence of DKIM and a neutral SPF result add to the suspicion.
Email header analysis questions and answers
Answers to the most common questions about reading email headers, interpreting SPF/DKIM/DMARC results, tracing email origin, and identifying phishing and spoofing.
Understanding email authentication results in headers: SPF, DKIM, and DMARC decoded
The three authentication standards that appear in email headers work together as a layered system. Understanding what each one validates, and crucially what it does not validate, is essential for correctly interpreting header analysis results.
SPF (Sender Policy Framework, RFC 7208) answers: is this IP address authorised to send email for the envelope domain? It checks the Received-SPF header, which contains the sending IP, the envelope MAIL FROM domain, and the result (pass, fail, softfail, neutral, none, permerror, temperror). Critically, SPF validates the Return-Path domain, the hidden envelope address used for bounces, not the visible From: header. This is why SPF pass does not mean the From: address is genuine, and why spf=pass alongside dmarc=fail can still indicate a spoofed message. You can verify a domain's SPF configuration independently using the SPF Record Checker.
DKIM (DomainKeys Identified Mail, RFC 6376) answers: was this message cryptographically signed by the domain in the d= tag, and has it been altered since signing? The DKIM-Signature header contains the signing domain (d=), selector (s=), algorithm (a=, typically rsa-sha256), the headers included in the signature (h=), and the signature itself (b=). A dkim=pass result means the signature verified correctly against the public key in DNS. DKIM survives forwarding, making it the more reliable alignment mechanism for third-party ESPs. Use the DKIM Analyzer to inspect a domain's published key strength and status.
DMARC (RFC 7489) answers: does the authenticated domain match the visible From: header? It enforces alignment. The SPF Return-Path domain or the DKIM d= domain must match (or be a subdomain of, in relaxed mode) the From: domain. The Authentication-Results header shows the DMARC verdict (pass/fail) and the policy applied (none/quarantine/reject). A dmarc=pass means at least one mechanism passed with alignment. A dmarc=fail means neither did. And the message's claimed From: domain is not what actually sent it. The DMARC Checker shows a domain's current policy and whether rua= reporting is configured.
The interaction between these three standards produces the most important rule in email security: a message can have spf=pass and dkim=pass and still be a spoofed phishing email. If SPF passes for the Return-Path domain (not the From: domain) and DKIM passes for the signing domain (not the From: domain), and neither aligns with the From: header, DMARC will fail. This is exactly why phishing emails from sophisticated actors often show individual SPF and DKIM passes alongside a DMARC fail. The DMARC result is the authoritative verdict. When combined with a domain-level policy of p=reject, that verdict should have blocked the message before delivery.
Need a disposable email address?Generate a free, instant throwaway. Zero signup, zero trace.
Get Free Temp Mail ->