How to Read an Email Header (and Spot a Phishing Email)

The part of an email you usually never see is the part that tells you the truth. Here is how to read the headers, follow the path a message actually took, and check the signals that separate a real sender from an impostor.

In short

The visible part of an email, the sender name and the body, is easy to fake. The headers are the hidden record of how the message traveled, and they are much harder to forge end to end. Reading the Received: chain shows where a message really came from, and the SPF, DKIM, and DMARC results say whether the sending domain checks out. None of these is absolute proof, but together they turn a gut feeling about a suspicious email into something you can actually look at.

What email headers are, and why the body can lie

Every email has two parts. The body is what you read: the greeting, the message, the signature. The headers are a block of technical metadata that travels with the message but stays hidden unless you go looking for it. They record who the message claims to be from, the servers it passed through, timestamps, and the results of automated security checks.

The body and the friendly "From" name are trivial to fake. Anyone can type "PayPal Support" as a display name and write a convincing message. What is harder to fake is the trail left behind as the message moves across the internet, because much of that trail is written by mail servers rather than by the sender. That does not make headers tamperproof, but it does mean they often disagree with a lie told in the body, and that disagreement is what you are looking for.

Most mail apps hide the headers behind a menu like "Show original", "View source", or "Show raw message". Once you have that raw text, the rest of this guide is about reading it.

The Received: chain: the path the message took

The most useful headers are the Received: lines. Each mail server that handles a message adds its own Received: line at the top of the header block as it passes the message along. Because each new server stamps its line on top, the list ends up in reverse order.

So you read the Received: chain from the bottom up. The bottom line is the oldest, written by the first server to touch the message, which is usually closest to where it actually originated. The top line is the newest, written by the server that finally delivered it to you. Walking up from the bottom lets you trace the route and ask where the message truly started.

A typical line names the server that received the message, the server that sent it, and an IP address, often in a form like Received: from mail.example.com (203.0.113.10) by mx.yourprovider.com. The originating IP near the bottom of the chain is worth a closer look: if a message claiming to be from a major bank first appears at a random residential or overseas IP that has nothing to do with that bank, that mismatch is a signal worth investigating. The structure of these trace fields is described in the internet mail standard, RFC 5322.

One honest caveat up front: only the Received: lines added by servers you trust are reliable. A sender can pre-write fake Received: lines into the bottom of the chain, so the lower you go, the more skeptical you should be. The lines added by your own provider near the top are the ones you can actually trust, and they are where the security checks below get recorded.

SPF, DKIM, and DMARC: the authentication results

Modern mail systems run three checks on incoming mail and record the outcome in an Authentication-Results: header. You do not have to run these yourself; you just read the verdict your provider already wrote down.

Each check resolves to a short result, and the words matter:

The combination that should raise an eyebrow is a message that claims to be from a well-known brand yet shows SPF and DKIM failing while DMARC fails too. Big organizations almost always publish strict policies, so a failure on a message wearing their name is a genuine flag.

The classic spoofing tells

You do not need every header to spot the common tricks. A few specific mismatches catch most everyday phishing:

Any one of these on its own can have an innocent explanation. The pattern to trust is several of them pointing the same way at once: a brand name, an unrelated domain, a redirected reply, and a failing check together tell a more convincing story than any single line.

The honest caveats

Headers are evidence, not a verdict, and it is worth knowing where they get noisy.

Forwarding and mailing lists legitimately break authentication. When a message is forwarded, or sent through a mailing list that rewrites parts of it, SPF can fail because the relaying server was never on the original domain's authorized list, and DKIM can break because the content changed in transit. These are real, everyday situations where a fail does not mean anything sinister. A failure on forwarded or list mail is expected, not alarming.

The results were written by servers you do not control. An Authentication-Results: line stamped deep in the chain was added by some server upstream, and you have no way to confirm it is honest. The line you can actually trust is the one added by your own mail provider as it delivered the message to you, because that is the boundary you control. Treat the topmost authentication result from your provider as the trustworthy one and be cautious about results carried in from further away.

In short, headers are great at confirming a mismatch and poor at proving good intent. Use them to find reasons for suspicion, then combine that with the wider context of who is contacting you and what they are asking for.

Analyze an email header

Paste a raw header block and see the parsed Received: chain, the From / Reply-To / Return-Path fields, and the SPF, DKIM, and DMARC results laid out clearly. Runs entirely in your browser, nothing stored.

Analyze an Email Header →

This guide is educational and reflects publicly available information about email headers and the published email-authentication standards (SPF, DKIM, and DMARC). It is not legal advice or a recommendation about any specific email, sender, person, or decision. Verification and security decisions should follow your organization's policies and applicable law.