ByteTools Logo

How to Read Email Headers: Complete Security Guide 2026

Learn to analyze email headers in 5 steps to detect phishing, verify sender authenticity, and trace email routing—all without uploading sensitive data.

10-minute readPrivacy-focused analysisBeginner-friendly

Quick Answer

To read email headers for security: View source → Find Authentication-Results → Check SPF/DKIM/DMARC status → Trace Received headers → Verify sender domains match. Failed authentication or domain mismatches indicate phishing or spoofing attempts.

Analyze Headers Now →

Why Email Headers Matter for Security

Email headers contain forensic evidence of an email's journey from sender to your inbox. Every suspicious email carries digital fingerprints that reveal:

  • Authentication status - Whether SPF, DKIM, and DMARC checks passed
  • True sender identity - Actual sending server vs claimed "From" address
  • Email routing path - Every server that handled the message
  • Timestamps and delays - Unusual routing patterns that indicate spam
  • Domain mismatches - Spoofing attempts hiding malicious origins

Unlike the visible email body that attackers easily forge, headers provide technical proof of authenticity. Learning to read them turns you from potential phishing victim into informed defender.

Step 1: How to View Email Headers

Before analyzing headers, you need to access the raw source. Each email client hides headers differently:

Gmail: View Email Headers

  1. Open the suspicious email in Gmail
  2. Click the three dots (⋮) in the top-right corner next to the reply button
  3. Select "Show original" from the dropdown menu
  4. A new tab opens showing raw headers—copy everything for analysis

Gmail displays headers in a readable format with authentication results highlighted at the top. Look for "SPF", "DKIM", and "DMARC" results immediately.

Outlook: View Email Headers

  1. Open the email in Outlook (desktop or web)
  2. Click the three dots (⋯) or "More actions"
  3. Select "View""View message source"
  4. Copy the entire header block from the popup window

Outlook's "Internet headers" section contains authentication results and routing information. Focus on the "Authentication-Results" line for quick security checks.

Yahoo Mail: View Email Headers

  1. Open the email in Yahoo Mail
  2. Click "More" (three dots) in the toolbar
  3. Select "View raw message"
  4. Copy the headers from the display window

Apple Mail: View Email Headers

  1. Open the email in Apple Mail
  2. Go to ViewMessageAll Headers
  3. Or press ⌘⇧H (Command+Shift+H) to toggle headers

Pro Tip

Always copy the complete headers including all "Received:" lines. Partial headers miss crucial routing information needed to trace the email's origin and detect spoofing attempts.

Step 2: Understanding the Authentication-Results Header

The Authentication-Results header is your first line of defense. This single line contains all email security checks performed by the receiving mail server:

Authentication-Results: mx.google.com;
  spf=pass (google.com: domain of sender@example.com
    designates 192.0.2.1 as permitted sender)
    smtp.mailfrom=example.com;
  dkim=pass header.i=@example.com header.s=selector1;
  dmarc=pass (p=REJECT) header.from=example.com

This header tells you immediately if the email passed or failed authentication. Here's what each component means:

SPF (Sender Policy Framework)

What it checks: Verifies the sending server's IP address is authorized to send email for the claimed domain.

  • spf=passSender's IP is authorized (legitimate)
  • spf=failSender's IP is NOT authorized (potential spoofing)
  • spf=softfail - Sender might not be authorized (suspicious)
  • spf=neutral - Domain doesn't specify authorized senders
  • spf=noneNo SPF record found (no verification possible)

The SPF result also shows the sending IP address (designates 192.0.2.1) and claimed domain (smtp.mailfrom=example.com). Cross-reference these with the "From" address.

DKIM (DomainKeys Identified Mail)

What it checks: Validates the email's digital signature to ensure it hasn't been tampered with during transit.

  • dkim=passSignature valid, email unmodified (trustworthy)
  • dkim=failSignature invalid, email may be tampered (dangerous)
  • dkim=neutral - Body hash mismatch (content modified)
  • dkim=noneNo DKIM signature found (unverified)

DKIM shows the signing domain (header.i=@example.com) and selector (header.s=selector1). The signing domain should match the "From" address.

DMARC (Domain-based Message Authentication)

What it checks: Ensures the email's "From" domain matches SPF/DKIM results and follows the domain's authentication policy.

  • dmarc=passSPF/DKIM aligned with From domain (legitimate)
  • dmarc=failAuthentication or alignment failed (high-risk phishing)
  • dmarc=noneNo DMARC policy published (no protection)

The policy field (p=REJECT, p=QUARANTINE, or p=NONE) indicates what the domain owner recommends doing with failed emails. REJECT means "block immediately"—a strong signal that failed emails are likely phishing.

Red Flag: Failed Authentication

If you see ANY of these in Authentication-Results, treat the email as suspicious:

  • spf=fail or spf=softfail
  • dkim=fail or dkim=neutral
  • dmarc=fail

Failed authentication means the email did NOT come from the claimed sender. Do NOT click links or download attachments. Contact the supposed sender through a known, trusted channel to verify.

Step 3: Tracing the Email Path with Received Headers

Every email contains multiple Received: headers—one added by each mail server that handled the message. Reading these headers reveals the email's complete journey from origin to your inbox.

How to Read Received Headers

Critical: Read from bottom to top. The oldest header (true origin) is at the bottom; the newest (your mail server) is at the top.

Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41])
        by mx.example.com (Postfix) with ESMTPS id 1234ABCD
        for <you@example.com>; Thu, 9 Jan 2026 10:30:45 -0800 (PST)
Received: from mail.company.com ([192.0.2.100])
        by mail-sor-f41.google.com with ESMTPSA id xyz789
        for <you@example.com>; Thu, 9 Jan 2026 10:30:40 -0800 (PST)
Received: from [10.1.1.50] (unknown [203.0.113.50])
        by mail.company.com (Postfix) with ESMTP id abc123
        for <you@example.com>; Thu, 9 Jan 2026 10:30:35 -0800

Each Received: header shows:

  • From server - The server that sent the email to the next hop
  • By server - The server that received it
  • IP address - In square brackets [209.85.220.41]
  • Timestamp - When this server received the email
  • Protocol - SMTP, ESMTP, ESMTPS (S = secure/encrypted)

Red Flags in Email Path

  • Suspicious servers - Unknown hosting providers, countries that don't match the sender
  • Unusual routing - Email bouncing through multiple unexpected locations
  • Long delays - Hours or days between hops (indicates spam queues)
  • Forged From headers - First Received header IP doesn't match claimed domain
  • Direct delivery - No intermediate servers for supposedly corporate email (companies use mail gateways)

Warning: Geo-Mismatch

Email claims to be from "support@yourbank.com" but Received headers show origination from an IP in Eastern Europe or Southeast Asia? That's spoofing. Legitimate banks send from their own country's servers with proper routing through their mail infrastructure.

Step 4: Verifying Sender Information

Phishers rely on users only checking the "From" field. But email headers reveal the true sender through multiple fields that must align:

Key Sender Headers to Compare

From: Header (Displayed Sender)

From: "Security Team" <security@yourbank.com>

This is what you see in your inbox. Attackers easily forge this field to appear legitimate.

Return-Path: Header (Actual Sender)

Return-Path: <noreply@suspicious-domain.com>

The true sending address where bounces go. This cannot be forged. If Return-Path domain differs from From domain, it's likely spoofing.

Reply-To: Header (Response Destination)

Reply-To: attacker@evil.com

Where replies are sent if you hit "Reply". Phishers set this to redirect responses to their real email. If different from From address, be suspicious.

Domain Mismatch Red Flags

  • From domain ≠ Return-Path domain - Strong spoofing indicator
  • From: yourbank.com but Return-Path: randomdomain.net - Definitely spoofed
  • Reply-To using free email service - Legitimate companies don't redirect to Gmail/Yahoo
  • Display name tricks - "Apple Support <not-apple@phisher.com>" looks like Apple at first glance

Example: Legitimate vs Spoofed Email

Legitimate Email

From: support@github.com
Return-Path: <noreply@github.com>
Authentication-Results: spf=pass dkim=pass dmarc=pass

All domains match, authentication passed—trustworthy.

Spoofed Email

From: "GitHub Security" <security@github.com>
Return-Path: <spam@malicious-site.ru>
Authentication-Results: spf=fail dkim=none dmarc=fail

Domain mismatch + failed authentication—obvious phishing.

Step 5: Using ByteTools Email Header Analyzer

Manual header analysis works but is time-consuming and error-prone. ByteTools Email Header Analyzer automates the entire process:

  1. Copy raw headers from your email client (Gmail, Outlook, Yahoo)
  2. Paste into analyzer at bytetools.io/email-header-analyzer
  3. Instant analysis - SPF/DKIM/DMARC status, email path tracing, security warnings
  4. 100% private - Processing happens entirely in your browser, zero data transmission

Analyze Email Headers Instantly

Paste your email headers and get instant security analysis: SPF/DKIM/DMARC status, email path tracing, domain verification, and spoofing detection—all processed locally in your browser with zero data upload.

Try Email Header Analyzer →

Common Email Header Security Scenarios

Scenario 1: Phishing Email from "Your Bank"

What you see:

From: "Security Team" <alerts@yourbank.com>
Subject: Urgent: Verify Your Account Now

What headers reveal:

Return-Path: <phisher@randomsite.net>
Authentication-Results: spf=fail dkim=none dmarc=fail
Received: from unknown-server.ru [203.0.113.99]

Verdict: Obvious phishing. Return-Path mismatch + failed authentication + Russian IP.

Scenario 2: Legitimate Marketing Email

What you see:

From: "Newsletter" <news@company.com>
Subject: Monthly Updates

What headers reveal:

Return-Path: <bounce@sendgrid.net>
Authentication-Results: spf=pass dkim=pass dmarc=pass
Received: from sendgrid.net [167.89.123.45]

Verdict: Legitimate. Company uses SendGrid for email (common). All authentication passed.

Scenario 3: Spoofed Internal Email

What you see:

From: "CEO" <ceo@yourcompany.com>
Subject: Wire Transfer Request - Urgent

What headers reveal:

Return-Path: <ceo@yourcompany.com>
Authentication-Results: spf=pass dkim=pass dmarc=fail
Received: from external-server.com [198.51.100.50]

Verdict: Suspicious. DMARC failed despite SPF/DKIM pass. Email routed through external server instead of company mail gateway. Verify through other channels before acting.

Advanced Header Analysis Tips

Checking X-Spam Headers

Many mail servers add spam scoring headers:

X-Spam-Status: No, score=-0.1
X-Spam-Score: -0.1
X-Spam-Level:

Scores above 5.0 typically indicate spam. Look for X-Spam-Flag: YES as a definite spam indicator.

Verifying Email Client

X-Mailer: Microsoft Outlook 16.0
User-Agent: Mozilla Thunderbird 102.0

Legitimate corporate emails use professional email clients. Suspicious if "YourBank Security Team" sends from a personal Gmail account with a generic web client.

Message-ID Forensics

Message-ID: <20260109103045.ABC123@mail.example.com>

The Message-ID domain should match the sending domain. Mismatches like Message-ID: @spammer.net but From: @yourbank.com reveal spoofing.

When to Trust vs Reject Emails

Trust Email When:

  • All three authentication checks pass: spf=pass dkim=pass dmarc=pass
  • From domain matches Return-Path domain
  • Received headers show logical routing through expected mail servers
  • No spam flags or suspicious delays
  • Reply-To matches From address

Reject/Delete Email When:

  • ANY authentication fails: spf=fail, dkim=fail, or dmarc=fail
  • From domain differs from Return-Path domain
  • Received headers show unexpected countries or unknown servers
  • X-Spam flags indicate high spam score
  • Message-ID domain doesn't match From domain
  • Reply-To redirects to different domain or free email service

Verify Through Other Channels When:

  • Mixed authentication (some pass, some fail)
  • Email requests urgent action (wire transfer, password reset, account verification)
  • Sender uses email service provider (SendGrid, Mailchimp) but claims to be official company communication
  • Content seems suspicious despite passing authentication (account compromised)

Common Mistakes When Reading Email Headers

Mistake 1: Only Checking the "From" Field

Attackers forge the From field trivially. Always compare it with Return-Path and authentication results.

Mistake 2: Reading Received Headers Top-to-Bottom

Received headers are chronologically reversed. The bottom header is the origin; the top is your mail server.

Mistake 3: Trusting Single Indicators

One passed check doesn't mean legitimate. Evaluate all factors together: authentication, domain alignment, routing path, and sender information.

Mistake 4: Ignoring DMARC Policy

A dmarc=fail (p=REJECT) result means the domain owner explicitly says "block this." That's your strongest signal to delete without reading.

Mistake 5: Not Using Analysis Tools

Manual header review misses subtle issues. Use automated analyzers like ByteTools to catch what human eyes overlook.

Privacy-Preserving Header Analysis

Email headers contain sensitive information: internal server names, IP addresses, email routing infrastructure. Uploading them to online analyzers exposes this data to third parties.

Why ByteTools Email Header Analyzer is Different

  • 100% Client-Side Processing - Headers never leave your browser
  • Zero Data Transmission - No backend servers, no API calls, no logging
  • Works Offline - Once loaded, analyzes headers without internet connection
  • Open Source Transparent - Verify the privacy guarantees yourself on GitHub
  • No Registration Required - Instant analysis without creating accounts

Traditional online header analyzers upload your headers to their servers for processing. This reveals:

  • Your company's internal mail infrastructure
  • Internal IP addresses and server names
  • Email routing patterns
  • Potentially sensitive email metadata

ByteTools processes everything locally—your headers stay on your device, completely private.

Frequently Asked Questions

Can email headers be faked?

The "From" and "Subject" fields can be forged easily. However, the Authentication-Results and Received headers added by mail servers cannot be faked—they're inserted during delivery. That's why checking authentication results is critical for spotting spoofing.

What if SPF passes but DKIM fails?

This suggests the email came from an authorized server (SPF pass) but was modified during transit (DKIM fail). It could indicate a compromised mail server, content modification by a spam filter, or forwarding that broke the signature. Treat as suspicious—verify with the sender directly.

Do I need to understand technical details?

No. Focus on three simple checks:

  1. Do SPF, DKIM, and DMARC all show "pass"?
  2. Does the From domain match Return-Path domain?
  3. Do Received headers show expected routing?

If any answer is "no," treat the email as suspicious. ByteTools Email Header Analyzer highlights these issues automatically in plain language.

Can legitimate emails fail authentication?

Yes, occasionally. Email forwarding often breaks DKIM signatures. Mailing lists and forwarding services may cause SPF failures. However, emails from major companies (banks, tech companies) should never fail all three checks. Multiple failures + urgent requests = phishing.

How long should email delivery take?

Typical delivery is under 10 seconds. Long delays (hours or days) between Received headers indicate the email sat in spam queues or was relayed through suspicious servers—common for bulk spam and phishing campaigns.

What's the difference between SMTP and ESMTPS?

SMTP sends email unencrypted (insecure). ESMTPS uses TLS encryption (secure). Received headers showing ESMTPS indicate the email was protected during transit. Legitimate services use encrypted connections—unencrypted routing raises suspicion.

Taking Action After Header Analysis

For Legitimate Emails

  • Safe to interact normally
  • Links and attachments can be trusted (but always verify download sources)
  • Reply using standard email response

For Suspicious Emails

  • Do NOT click links or download attachments
  • Do NOT reply to the email
  • Do NOT forward to colleagues (spreads the threat)
  • Contact the supposed sender through a known, trusted channel (phone, official website chat)
  • Report to your IT security team if corporate email
  • Mark as spam/phishing in your email client

For Confirmed Phishing

Conclusion: Email Headers as Your Security Shield

Email headers provide forensic evidence that reveals an email's true origin, authentication status, and routing path. By learning to read them—or using automated tools like ByteTools Email Header Analyzer—you transform from potential phishing victim to informed defender.

Remember the core security checks:

  1. Authentication-Results - SPF, DKIM, DMARC must all pass
  2. Domain Alignment - From and Return-Path domains must match
  3. Routing Path - Received headers should show logical, expected servers
  4. Sender Verification - Cross-reference all sender fields for consistency

When in doubt, verify through another channel. A 30-second phone call to confirm an urgent request beats falling victim to a sophisticated phishing attack.

Protect Yourself from Email Phishing

Analyze suspicious email headers instantly with ByteTools—100% private, browser-based analysis with zero data upload. Get SPF/DKIM/DMARC status, email path tracing, and security warnings in seconds.

Analyze Email Headers Now →

No registration • 100% client-side • Completely free

Last Updated: January 9, 2026 | Reading Time: 10 minutes

Email SecurityPhishing DetectionSPF DKIM DMARCPrivacy Tools