Email header analyzer

Runs in your browser. The headers you paste are read by the code on this page and go nowhere: MailSetupCheck has no server, and this tool makes no network requests at all.

Use a copy that arrived in Gmail, Outlook or Yahoo, not the one in your sent folder: the receiving server writes the Authentication-Results line. Headers can include addresses and server names; they stay in this tab.

Why headers, when the DNS checker exists

The DNS checker reads your published records. It cannot tell whether a real message passed, because three things only show up in a delivered message:

How to get the raw headers

Mail app Where
Gmail (web) Open the message, then the three dots, then Show original. Copy the headers from the top of the page.
Outlook on the web Open the message, then the three dots, then View, then View message details.
Outlook for Windows Open the message in its own window, then File, then Properties, then read Internet headers.
Yahoo Mail Open the message, then the three dots, then View raw message.
Apple Mail View, then Message, then Raw Source (or All Headers).

Menu names change; if yours differs, search your app's help for "view message source" or "internet headers".

What the analyzer looks at

What it cannot tell you

Fix order

  1. DMARC fails: make either SPF or DKIM pass with your own domain. Authenticating your domain in your sending service (a custom DKIM key, a custom return-path) fixes most misalignment.
  2. Bulk mail without one-click unsubscribe: turn it on in the sending service; most have a single setting. Then send a new test and check that both headers are signed.
  3. Everything else in "worth fixing".

See also the Gmail and Yahoo sender requirements and the DMARC rollout guide.

Sources: RFC 8601 (Authentication-Results), RFC 6376 (DKIM), RFC 8301, RFC 8058 (one-click unsubscribe), RFC 9989 (DMARC), Google's sender guidelines, Yahoo Sender Hub.

Also available as Markdown.