Autonomics AI Get a free audit

How to read a DMARC aggregate report

DMARC reports look like a wall of XML. Each row answers one question: did this server send mail as you, and did it pass?

With a rua= address in your DMARC record, receivers such as Google, Microsoft and Yahoo send a daily XML file. It lists every server that sent mail claiming your domain, how many messages, and whether SPF and DKIM passed and aligned. It's the only way to see mail sent as you that you didn't send.

One record, line by line

FieldWhat it tells you
source_ipThe server that sent the mail. Look it up to see whose it is.
countHow many messages came from that server in the period.
dispositionWhat the receiver did: none, quarantine or reject.
dkim and spf under policy_evaluatedPass or fail after alignment. This is what DMARC goes by.
header_fromThe domain in the visible From line.
auth_resultsThe raw SPF and DKIM results, with the domain each was checked against. Compare them with header_from to spot alignment problems.

Sorting the sources

  • Yours, passing. Your mail provider's servers, DKIM passing and aligned. Nothing to do.
  • Yours, failing. A tool you use (CRM, invoicing, helpdesk, website forms) with DKIM failing or signed with the tool's own domain. Turn on its domain authentication so it signs as you.
  • Forwarded. Your own mail passing through a mailing list or a forwarding mailbox. SPF fails because the forwarder's IP isn't yours; DKIM often still passes. Usually nothing to fix.
  • Not yours. Servers you don't recognise, often in volume, failing both. That's spoofing, and it's exactly what p=quarantine and p=reject stop.

Reading them without XML

Raw XML is manageable for a domain with one or two senders. Past that, use a report processor. Cloudflare's DMARC Management is available on every Cloudflare plan for domains on Cloudflare DNS, and most dedicated DMARC services have a free tier for small volumes. If rua points at a service on another domain, that service has to publish an authorisation record, or receivers may not send reports to it. Our checker tests for that record.

Failure reports (ruf=) carry copies of individual failing messages. Most large receivers don't send them, for privacy reasons, so don't worry if none arrive.

Questions people ask

How soon do reports arrive?

Usually within a day or two of publishing the rua address, once a receiver has seen mail from your domain.

Why do I see Google IP addresses I don't recognise?

If you use Google Workspace, that's your own mail; Google's sending ranges are large. Check DKIM: if it passes aligned with your domain, it's yours.

DNS only shows part of the picture. If mail is still landing in spam with every record right, the deliverability audit looks at the rest: blocklists, reputation, bounces, content and the sending setup.