What it does
Every mail server that handles a message adds lines to the top of its headers, and the server that finally accepts it records whether the sender passed its checks. The result is a long, wrapped block of text that is slow to read by eye. This analyzer parses the raw headers of one email and sorts them into five parts:
- Summary: From, To, Subject, Date, Message-ID, Return-Path and Reply-To.
- Authentication: SPF, DKIM and DMARC verdicts (pass, fail, none and so on) from the Authentication-Results and Received-SPF headers, plus the domain (
d=) and selector (s=) of each DKIM-Signature header. - Alignment: whether the From domain matches the DKIM
d=domain and the Return-Path domain. - Received chain: every hop numbered oldest first, with the from and by hosts, the protocol (such as ESMTPS), the timestamp and the delay since the previous hop, plus the total delivery time.
- Warnings: a Reply-To that differs from From, hops with out-of-order timestamps or clock skew, and missing authentication results.
Parsing is done by JavaScript in your browser. Nothing is uploaded or sent anywhere, and once loaded the page keeps working with the network disconnected. The tool does not verify DKIM signatures cryptographically or query DNS; it reports what the receiving servers wrote into the headers.
How to use it
- Open the message's raw source. In Gmail, use the three-dot menu next to Reply and choose Show original. In classic Outlook for Windows, open the message in its own window, choose File, then Properties, and copy from the Internet headers box. In Outlook on the web and the new Outlook, use the three-dot menu, then View, then View message source. In Apple Mail, choose View, then Message, then Raw Source.
- Copy the header block: everything down to the first blank line. The body below it is not needed.
- Paste it into the box on this page.
- Read the summary and authentication results, then the warnings, then the hop list.
Forwarding a message drops its original headers, so work from the copy in the mailbox that received it, or ask the recipient to forward it as an attachment.
Use cases
- Checking a suspicious message. A payment request from a supplier shows
dmarc=fail, a DKIMd=domain unrelated to the From domain, and a different Reply-To. That is enough to report it instead of answering. - Finding where a delay happened. A password reset arrives 40 minutes late. Most hops took a second or two, but one relay held it for 38 minutes, which tells you whose queue to ask about.
- Testing your own domain. After connecting a newsletter service, send yourself a test and confirm that SPF and DKIM pass and that
d=is your domain, not the service's shared one. - Tracing a message in logs. Give your mail administrator the Message-ID and the time your provider accepted it; both are searchable in delivery logs.
- Confirming encryption in transit. ESMTPS on a hop means that link used TLS; plain ESMTP or SMTP means it did not.
Reading the Received chain, and what can be forged
Each server prepends its Received line above the existing ones, so the newest hop is at the top. Reading bottom-up follows the message forward in time; the tool reverses the order for you.
Received: from mx-out.shop.example (mx-out.shop.example [198.51.100.25])
by mx1.recipient.example with ESMTPS id 4f2ac81e
for <you@recipient.example>; Tue, 6 Oct 2026 14:02:11 +0000
Received: from app01.internal (app01.internal [10.0.4.7])
by mx-out.shop.example with ESMTP id 91c0d3;
Tue, 6 Oct 2026 14:02:09 +0000
Trust depends on who wrote each line. Find the earliest hop added by your own provider, here the one stamped by mx1.recipient.example. That line and everything after it are reliable, and the bracketed IP address on it is the machine that really handed over the message. Everything recorded before it, which in the raw text means below it, came from the sender's side and can be invented, including fake Received lines suggesting another origin. From, Reply-To, Subject, Date and Message-ID are also set by the sender.
Each timestamp comes from that server's own clock. A delay a few seconds below zero usually means a clock is slightly off. Long gaps point to a queue, a retry after a temporary rejection, or a message held for scanning.
What SPF, DKIM and DMARC each prove
SPF compares the connecting IP address with the servers a domain lists in DNS. The domain checked is the envelope sender, which becomes the Return-Path, not the visible From. A pass proves only that this server may send for the Return-Path domain. Forwarding often breaks SPF because the forwarder is not on the list.
DKIM is a signature over the body and selected headers. d= names the signing domain and s= the selector used to find its public key. A pass means the signed parts were not altered and the d= domain vouched for them. It says nothing about From unless the domains match.
DMARC ties both checks to the address readers see: it passes when SPF or DKIM passes and the passing domain aligns with the From domain. A message can pass SPF and DKIM for a bulk sender's own domains while the From line names a bank, and DMARC will still not pass.
Authentication-Results: mx1.recipient.example;
dkim=pass header.d=shop.example header.s=s2026;
spf=pass smtp.mailfrom=bounce.shop.example;
dmarc=pass header.from=shop.example
Under DMARC's default relaxed mode, bounce.shop.example aligns with shop.example because they share an organizational domain. Check that the first name in this header is your provider's server; a sender can insert a fake Authentication-Results line, and careful receivers strip those.
Finally, look past the display name. In PayDesk Billing <billing@paydesk-help.example> most mail apps show only the friendly name, but the checks above concern the address.
Frequently asked questions
Are the headers I paste sent to iseeu.cc?
No. The headers are parsed by JavaScript running in your browser and are not uploaded or sent anywhere. To prove it to yourself, switch off Wi-Fi after this page appears and run the analyzer again: it gives the same answers offline. Separately, iseeu.cc keeps no request logs and no database of visitors, sets no cookies and shows no ads.
Does a DKIM pass shown here mean the signature is valid?
It means the receiving server recorded a pass when the message arrived. This tool does not repeat the cryptographic check or fetch the public key from DNS; it reads the verdict from the Authentication-Results header. That is usually what you want, because senders rotate their keys, and a signature checked weeks later can fail even though it was valid at delivery.
Why does SPF fail on a message I know is genuine?
The most common cause is forwarding. When a message is forwarded or sent through a mailing list, the relaying server connects from its own IP address, which is not in the original sender's SPF record. A sender who adds a new mail service without updating SPF gets the same result. If DKIM still passes with a domain that aligns with From, DMARC can pass anyway.
Why do some hops show a negative delay?
Each server writes its Received timestamp from its own clock, and those clocks are not perfectly synchronized. A hop that appears to arrive a second or two before the previous one usually means one clock is slightly off. Larger backward jumps on the sender's side of the chain can also mean a Received line was made up. The tool flags out-of-order timestamps and clock skew so you can decide which applies.
How can the headers help me spot a phishing email?
Compare the display name with the actual From address, then check whether DMARC passed and whether the DKIM domain matches the From domain. A Reply-To that differs from From is a classic sign, because replies go to the attacker even when the From line looks right. Also look at the first hop your provider added: the sending IP address there was recorded by your provider, not supplied by the sender.
Why are there no authentication results for my message?
Not every receiving system writes an Authentication-Results header. Some corporate mail servers and older setups skip it, and mail passed between users on the same internal server is often not checked at all. Headers copied from a forwarded copy also lose the original results. When none are found the tool shows a warning, and the hop list and DKIM-Signature domains are what remain to go on.
What do ESMTP, ESMTPS and ESMTPSA mean on a hop?
They describe the connection a server received. ESMTP is extended SMTP without encryption. RFC 3848 added the variants: ESMTPS means the link used TLS, ESMTPA means the sending client logged in, and ESMTPSA means both. Each label covers only that one hop, so a message can be encrypted on some links and not on others. LMTP often appears on the last internal delivery step.
The analysis repeats what receiving servers wrote into the headers and applies simple heuristics. It cannot prove who sent a message; when money or credentials are involved, confirm through a channel you already trust.