DNSfinder.net
Message Header Parser

Email Header Analyzer

Paste the raw headers of an email and the analyzer unfolds them in your browser, orders the Received lines oldest first with the delay at each hop, reads the Authentication-Results and DKIM-Signature headers for SPF, DKIM and DMARC outcomes, and lists warning signs such as a Reply-To that points at a different domain. Nothing is uploaded. The parser is a pure function that runs on your machine. A Load sample button shows what a healthy message looks like.

Loading Email Header Analyzer...

Querying live edge resolvers and network infrastructure...

How to use the Email Header Analyzer

  1. Open the message source: in Gmail choose Show original from the message menu, in Outlook use File, Properties, Internet headers, in Apple Mail use View, Message, All Headers.
  2. Copy everything above the first blank line and paste it into the Raw email headers box. The analysis updates as you paste.
  3. Check the Authentication tile for SPF, DKIM and DMARC results and read the Findings list for spoofing and delay warnings.
  4. Follow the Delivery path table to see each server, its IP and the delay it added, then search the All headers table for anything specific.

What to look for

DMARC is the headline result

SPF can pass for a bounce domain and DKIM for an unrelated signer. A DMARC pass means one of them passed and aligned with the visible From domain, which is what tells you the sender is who the From line says. A fail shows the policy the domain asked for.

Hops are shown oldest first

Each server prepends its own Received line, so the raw order is newest first. The tool reverses it, reads the timestamp after the last semicolon of each line and prints the gap to the previous hop, with bars that turn amber beyond five minutes.

Reply-To and display-name tricks

If the Reply-To domain differs from the From domain the finding warns you, since replies go to the attacker. A display name that contains an address different from the real sender is flagged too. A differing Return-Path is only noted, as mailing services do that routinely.

Guide

Tracing an email through its headers and checking who really sent it

How the headers are parsed

An email header is one logical line per field, but long values are folded onto continuation lines that start with whitespace (RFC 5322). The analyzer joins those back together, stops at the first blank line where the body begins, and keeps every field in the All headers table with a filter box. If nothing parses it tells you that no headers were recognised, which usually means the body was pasted instead of the source.

Received lines are split at their last semicolon: the date follows it, and the text before it supplies the from host, the IP in square brackets, the by host and the with protocol such as ESMTPS. The IP in each row links to the IP lookup so you can see who owns the server that handed the message on.

Reading the delivery path

The Delivery time tile is the difference between the first and last dated hops. The per-hop Delay column shows where the time went. A gap of a few seconds between servers is normal. A gap of minutes or hours on a single hop points at that server: greylisting, a queue backlog, a spam scan that took a while, or a relay that only retries on a schedule.

Negative delays happen. Every server stamps the time by its own clock, so a hop whose clock runs slow or whose timezone is wrong appears to have received the message before the previous one sent it. The finding only mentions this when a hop is more than two minutes in the past, and it is a clock problem rather than a routing one.

SPF, DKIM and DMARC from Authentication-Results

The receiving server records its checks in an Authentication-Results header (RFC 8601). The analyzer reads the topmost one, falling back to ARC-Authentication-Results, and splits it into method=result clauses with their properties: smtp.mailfrom for SPF, header.d or header.i for DKIM, header.from and the policy for DMARC. SPF softfail and neutral are shown as warnings. Any DKIM result other than pass is a fail.

DKIM-Signature headers are listed separately with the signing domain (d=), selector (s=) and algorithm (a=), and each carries a Check key link to the DKIM checker that fetches the public key from DNS. If the Authentication-Results header is absent the tool says so rather than inventing a result, which is common when you paste headers from a sent item or an internal system.

Spoofing signs the findings look for

The findings compare domains at the organisational level, so mail.example.com and example.com count as the same owner. A Reply-To at a different organisation is a warning because that is how reply-based fraud works. A Return-Path at a different organisation is only information, because bulk senders use their own bounce domain, but it also means SPF cannot align for DMARC.

  • DMARC fail with policy reject or quarantine: the domain asked receivers to refuse this
  • DKIM signed by a domain unrelated to From: passes DKIM but not alignment
  • Display name containing another address: the real sender is the one after it
  • First hop from a consumer ISP range for a message claiming a corporate sender

Limits of header analysis and related checks

Headers added before the message reached your provider can be forged. Only the Received lines stamped by servers you trust, and the authentication results your own receiver wrote, are reliable. The tool does not verify DKIM signatures itself and does not query DNS. It reports what the headers say. For the sender's published policies, check the domain in the SPF checker and the DMARC checker.

Knowledge Base & FAQ

Email Header Analyzer FAQs

Common questions about the email header analyzer.

Open the message, click the three-dot menu next to Reply and choose Show original. The page that opens starts with the raw headers. Copy from the first line down to the first blank line (or use the Copy to clipboard button) and paste it into the analyzer.