DNSfinder.net
Aggregate Report Viewer

DMARC Report Analyzer

Drop the aggregate report attachments from your rua mailbox onto the page and the analyzer decompresses and parses them in your browser, then merges them into one view: total messages, the DMARC pass rate, DKIM and SPF alignment rates, what receivers did with failing mail, which organizations reported, and a table of every source IP with its results and From domain. Nothing is uploaded. Gzip and zip handling uses the browser's own DecompressionStream API.

Loading DMARC Report Analyzer...

Querying live edge resolvers and network infrastructure...

How to use the DMARC Report Analyzer

  1. Save the attachments from your DMARC report mailbox as they arrive (.xml, .xml.gz or .zip) and drag them onto the drop zone, or click Choose files. A file over 20 MB is skipped with a message.
  2. If you only have the XML text, open Or paste report XML, paste it and press Analyze XML.
  3. Read the four tiles, then the Published policy, Receiver actions and Reporters cards for the overall picture.
  4. In Sending sources, tick Failing sources only or filter by IP or From domain to find hosts that need SPF or DKIM work, and click an IP to open it in the IP lookup.

What to look for

Pass means aligned pass

The DMARC column uses the policy_evaluated results, which already include alignment, so a row passes when aligned DKIM or aligned SPF passed. The DKIM and SPF columns show the share of messages where each aligned check passed, with the raw auth_results domain and selector printed underneath.

Disposition says what happened

Receiver actions counts the disposition of each row: none means delivered normally (shown as Delivered), quarantine means filed as spam, reject means refused. Under p=none everything shows as delivered even when it failed, which is the whole point of monitoring before enforcing.

Legitimate or forged

A failing source whose Header From is your domain and whose IP belongs to a service you use needs SPF or DKIM fixed. A failing IP you do not recognize is most likely a forger, and its row shows how much of that traffic a quarantine or reject policy would have stopped.

Guide

Making sense of DMARC aggregate reports

What is inside an aggregate report

Every receiver that honours your rua tag sends one XML file per reporting period, usually a day, in the format described in RFC 7489 Appendix C. It carries report_metadata (the reporter's org_name, contact email, report_id and the begin and end timestamps), policy_published (the p, sp, pct, adkim and aspf values the receiver saw) and a list of record elements.

Each record is one source_ip with a count, a policy_evaluated block (disposition plus the aligned dkim and spf verdicts), identifiers (header_from and sometimes envelope_from) and auth_results listing each DKIM signature domain and selector with its result, and each SPF domain with its result. The analyzer reads exactly these fields and nothing else.

How files are read without leaving your browser

A dropped file is identified by its first bytes: a zip signature, a gzip signature, or plain XML. Gzip members and deflate-compressed zip entries are inflated with DecompressionStream, every .xml entry in a zip is parsed, and a zip with no .xml inside is reported as an error. The XML goes through the browser's DOMParser, and a file without a feedback element is rejected as not a DMARC report.

Reports with the same reporter and report_id are kept once, so dropping the same attachment twice does not double the counts. The date range at the top spans the earliest begin and the latest end across all files, and Download JSON exports the parsed reports for a spreadsheet or a script.

Reading the tiles and the sources table

Messages is the sum of every count, with the number of distinct source IPs beneath it. DMARC pass is the share of messages where an aligned check passed. It is green from 95 percent, amber from 80 and red below that. DKIM aligned and SPF aligned break the same figure down per mechanism, which shows at a glance whether forwarding (SPF fails, DKIM passes) or an unsigned service (both fail) is the problem.

The sources table is sorted by message count. The DMARC pill is green when every message from that IP passed, red when none did and amber for a mix. Hover the DKIM or SPF cell to see every signing or envelope domain the reporters recorded. The first one is printed under the percentage. Header From lists the From domains seen from that IP, which is how you catch a subdomain or a look-alike being used.

Turning rows into fixes

Filter to failing sources. For each IP, decide whether it is yours: open it in the IP Lookup to see the owning network, and match it against the services you pay for. A known service that fails SPF needs its include added with the SPF Generator. One that fails DKIM needs signing switched on in that service and the selector verified with the DKIM Checker.

Forwarders, mailing lists and some ticketing systems resend your mail from their own IPs, so SPF fails and only DKIM can carry the message through. That is why DKIM on every sender comes before p=reject. When the failing rows are all unknown IPs using your From domain, you are looking at forgery, and tightening the policy is the fix.

  • Known IP, SPF fails: add the service's include to your SPF record.
  • Known IP, DKIM fails: enable signing there and check the published key.
  • Unknown IP, your From domain: forgery. Move toward quarantine or reject.

What the reports do not show

Aggregate reports contain no message content, subjects or recipient addresses, only counts per IP, so you cannot trace an individual complaint through them. They also arrive a day or more after the mail was sent, and the Published policy card reflects what the first loaded reporter saw, which can lag behind a DNS change you made yesterday.

Not every receiver sends reports, so the totals cover the providers that do, and a small sender may see nothing for days. The loaded data stays in the page until you press Clear or reload. It is never sent to DNSfinder.

Knowledge Base & FAQ

DMARC Report Analyzer FAQs

Common questions about the dmarc report analyzer.

A daily XML summary (RFC 7489 Appendix C) sent by a receiving mail provider to the rua address in your DMARC record. It lists each IP that sent mail with your domain in the From header, how many messages, the aligned SPF and DKIM results, and what the receiver did with the mail.