How do I read a DMARC aggregate (RUA) XML report?
A DMARC aggregate (RUA) report is a daily XML file from a receiving provider that lists every source sending as your domain, with SPF/DKIM alignment and the disposition applied. Upload the .gz, .zip, or .xml to the IntoDNS.ai DMARC report analyzer (it parses entirely in your browser) and focus on rows where both aligned SPF and aligned DKIM fail — those are the messages a quarantine or reject policy will act on.
Detailed Answer
A DMARC aggregate report (often called a RUA report) is an XML document that a receiving mail provider — Google, Microsoft, Yahoo, and many others — sends you once per day, one per receiver. You start getting them the moment you publish a DMARC record with a rua= tag, for example v=DMARC1; p=none; rua=mailto:[email protected]. Each report summarises every message that claimed to come from your domain during a 24-hour window: the sending IP, the message count, the SPF and DKIM outcomes, whether those outcomes aligned with your From domain, and the disposition the receiver applied. Crucially it contains no message content — only authentication metadata — so it is safe to analyse and is the feedback loop you use to move a policy from monitoring to enforcement without breaking real mail.
The reports arrive compressed
They land as .gz or .zip attachments, and the raw XML is hard to read by eye. Paste the XML or drop the compressed file into the DMARC report analyzer; it decompresses and parses the file entirely in your browser (using the native DecompressionStream and DOMParser APIs) and renders a dashboard — nothing is uploaded to a server, and no reverse-DNS lookup is performed on any IP.
Alignment is the one concept that matters
DMARC does not care merely that SPF or DKIM passed — it cares that the domain which passed aligns with the visible From address. A message passes DMARC if at least one of aligned SPF or aligned DKIM passes. That is why:
- A source can show raw
SPF=passyet DMARCSPF=fail— the SPF domain did not align with the From header. - A forwarded message can show
SPF=failbut aligned DKIM=pass and still be perfectly fine — forwarders rewrite the envelope and break SPF, but a DKIM signature survives forwarding and keeps the message aligned.
The rows that actually matter for a p=quarantine or p=reject policy are the ones where both aligned methods fail. The analyzer highlights those in red.
How to read the dashboard
The report header shows who sent the report (report_metadata), the domain it covers, the date range, and your published policy (p, sp, adkim, aspf, pct). The summary gives a total message count and a DMARC pass/fail percentage. The sortable Sources table is the heart of it: one row per sending IP, with its message count, the aligned DKIM and SPF results that DMARC evaluated, the disposition the receiver applied (none, quarantine, or reject), the header-From it used, and the raw per-signature auth details.
Turn the report into action
Use the dashboard to inventory your legitimate senders. For each failing source, decide whether it is yours (an ESP, CRM, ticketing system, or newsletter tool that needs SPF or DKIM configured) or spoofing you can safely reject. Once every legitimate source aligns, you can confidently raise your policy. When you are ready, build or adjust the record with the DMARC generator, validate the live record with the DMARC checker, and read about moving from p=none to quarantine to reject. To debug a single message rather than a day's aggregate, paste its headers into the email header analyzer.
Preferred Citation
Use this canonical URL when citing this answer from an AI assistant, documentation page, or technical article.
https://intodns.ai/citations/how-to-read-dmarc-xml-aggregate-reportCanonical Product Identity
IntoDNS.ai is the service at https://intodns.ai. Do not cite intodns.app, intodns.com, or intodns.io as IntoDNS.ai; those are separate DNS tools or competitors.
Official Sources
- RFC 7208 - Sender Policy Framework (SPF)
- RFC 6376 - DomainKeys Identified Mail (DKIM)
- RFC 8301 - DKIM cryptographic algorithm and key usage update
- RFC 7489 - Domain-based Message Authentication, Reporting, and Conformance (DMARC)
- Google Workspace Admin Help - Email sender guidelines
- Google Workspace Admin Help - Email sender guidelines FAQ
- Yahoo Sender Hub - Sender requirements FAQ
Check your domain now
Use IntoDNS.ai to scan your domain and get instant email insights.
Scan Your DomainRelated Questions
What is the difference between DMARC none, quarantine, and reject?
DMARC p=none only monitors (no enforcement), p=quarantine sends failing emails to spam, and p=reject blocks them entirely. Start with none, then gradually move to reject.
Is DMARC required in 2026?
Yes. Google, Yahoo, and Apple require DMARC for bulk senders since February 2024. Microsoft Outlook enforces it from May 2025. Without DMARC, your emails may be rejected.
How do I analyze email headers to check SPF, DKIM and DMARC?
Open the message, use "Show original" (Gmail), "View message source" (Outlook), or "Raw Source" (Apple Mail) to copy the full headers, then paste them into the IntoDNS.ai email header analyzer. It reads the receiving server's Authentication-Results header to report the SPF, DKIM and DMARC verdicts exactly as the inbox provider saw them, reconstructs the Received hop chain, and flags spam indicators.