Temp Mail Logo

Temp Mail safeguards your privacy while keeping your inbox free from spam.

← Back to Blog
Privacy

How to Read a DMARC Report (Without Losing Your Mind)

Best-TempMail Team2026-08-31
How to Read a DMARC Report (Without Losing Your Mind)

How to Read a DMARC Report (Without Losing Your Mind)

DMARC aggregate reports (RUAs) are the "black box" flight recorders of your email domain. They arrive in your inbox as cryptic XML files that most administrators ignore until a delivery crisis occurs. Learning how to read a DMARC report is the only way to move your domain from a passive "monitoring" state to a "reject" policy, effectively slamming the door on spoofers and phishers.

To read a DMARC report manually, you must unzip the XML file and locate the <record> tags. Each record represents a cluster of emails sent from a specific IP address. You must identify the <source_ip> to see who is sending mail on your behalf, then check the <policy_evaluated> section. If the <disposition> is "none" while <spf> or <dkim> show "fail," your email is authenticating incorrectly but still being delivered. If the disposition is "reject," the receiving server successfully blocked the unauthorized message.

While the raw data looks like a wall of code, it is a highly structured ledger. This guide walks you through the manual extraction of this data and how to interpret the results to protect your domain's reputation.

The XML Schema: Key Tags Explained

A DMARC report is an XML document designed for machine readability. To a human, it looks like a mess of brackets and tags, but you only need to recognize a few specific elements to understand your outbound mail flow.

The Metadata Section

The <report_metadata> tag sits at the top of the file. It identifies the organization that generated the report—such as Google, Microsoft, or Yahoo—and the specific time range covered. This is vital because different providers see different segments of your traffic; a report from Google only reflects mail sent to Gmail or Google Workspace users.

The Record Block

The core data is contained within <record> tags. A single report may contain dozens of these blocks, each representing a unique combination of a sending IP address and the authentication results for the emails sent from that IP.

Item: Source IP

Label: <source_ip> Description: The IP address of the server that sent the email. This is the primary identifier used to determine if the sender is a legitimate service like Google Workspace or an unauthorized third party.

Item: Message Count

Label: <count> Description: The total number of emails sent from that specific IP during the reporting period. High counts from unknown IPs usually indicate a spoofing attack or a "shadow IT" service your marketing team forgot to mention.

Item: Disposition

Label: <disposition> Description: Found within the <policy_evaluated> block, this tells you what the receiving server actually did with the mail. If your policy is p=none, the disposition is usually "none" (delivered). If your policy is p=reject, the disposition will show "reject" for failed mail.

Item: DKIM and SPF Results

Label: <dkim> and <spf> Description: These tags within the <policy_evaluated> section show the final "pass" or "fail" status for the DMARC check. Note that these results depend on both the raw authentication check and domain alignment.

Item: The Policy Published Tag

Label: <policy_published> Description: This section displays the DMARC record found in your DNS at the time the report was generated, including the policy (p), subdomain policy (sp), and alignment modes (adkim, aspf).

Item: The Auth Results Tag

Label: <auth_results> Description: This provides the raw SPF and DKIM data. Unlike the policy evaluation, this shows the specific domain used for the check and the raw result (pass, fail, neutral, or softfail). This is where you troubleshoot alignment issues.

Item: The Identifiers Tag

Label: <identifiers> Description: This contains the <header_from> tag, which is the domain the recipient sees in their email client. DMARC's primary job is ensuring this domain matches the ones found in the <auth_results> section.

Step-by-Step: How to Open and Interpret the Data

You do not need specialized software to read these reports, though it requires a methodical approach. If you are reviewing a report for the first time, follow these steps to extract the data.

  1. Download and Unzip: DMARC reports arrive as .zip or .gz attachments. Extract the XML file to your local drive.
  2. Open in a Browser: Right-click the XML file and open it with Chrome or Firefox. Browsers are superior to standard text editors for this task because they allow you to "collapse" XML nodes, making the structure easier to navigate.
  3. Search for Failures: Use the "Find" function (Ctrl+F) and search for "fail." This allows you to skip past legitimate traffic and focus on the records where authentication broke down.
  4. Verify the Sender: When you find a failure, look at the <source_ip> in that record. Use a reverse DNS lookup tool to identify the owner of that IP. If the IP belongs to a service you use, your configuration is broken. If it belongs to an unknown network, it is likely a spoofing attempt.
  5. Analyze Alignment: Check the <auth_results> section. If SPF passes but DMARC fails, it is almost always because the "Envelope From" domain (used by SPF) does not match the "Header From" domain (visible to the user).

For a deeper look at the underlying records that power these reports, you may want to read our guide on what is an spf record.

Understanding SPF and DKIM Alignment

The most common point of confusion when learning how to read a DMARC report is seeing a "Pass" that still results in a DMARC failure. This occurs because of "Alignment."

DMARC requires that the domain in the "From" header matches the domain used in the SPF or DKIM checks. For example, if you use a third-party service to send invoices, that service might pass SPF using its own domain, such as mail.protection.outlook.com. However, if your "From" address is [email protected], the domains do not align. DMARC will flag this as a failure because the visible sender does not match the authenticated sender.

When reviewing your reports, look closely at the <dkim> and <spf> tags under <auth_results>. If the domain listed there is not your domain, you have an alignment issue. You must update your DNS settings or contact the service provider to ensure they are authorized to send on your behalf using your specific domain. You can use our DMARC analyzer to verify your current record's alignment settings.

When to Use Manual Reading vs. Automated Tools

Manual XML reading is a vital skill for debugging, but it is rarely a sustainable strategy for long-term domain management.

When Manual Reading is Appropriate

  • You are a developer debugging a specific delivery issue for a new application.
  • You only have one sending source, such as a single Google Workspace account.
  • You want to verify that a specific provider, like Microsoft 365, is correctly interpreting a recent DNS change.

When Manual Reading is Inefficient

  • You receive dozens of reports daily from global ISPs.
  • Your organization uses multiple third-party tools for marketing, HR, and sales.
  • You need to visualize trends over several months to justify moving to a "reject" policy.
  • You are pursuing BIMI (Brand Indicators for Message Identification), which requires a long history of clean data.

For those managing larger infrastructures, using a dedicated dmarc inspector guide can help you set up automated dashboards that transform these XML files into actionable charts.

What DMARC Reports Do Not Tell You

DMARC reports are powerful, but they are not omniscient. They have three specific limitations you must understand.

First, they do not reveal the content of the email. You will see that an IP address sent 500 emails and whether they passed authentication, but you will never see the subject line or the body. This is a privacy feature designed to prevent sensitive data from leaking into aggregate reports.

Second, they do not identify the specific recipient. You only know that the mail was sent to a specific provider, such as Gmail. You cannot see individual email addresses in an aggregate (RUA) report.

Third, DMARC reports are not real-time. There is usually a 24-hour delay between the email event and the report generation. If you need to test a new setup and want to see if your emails are arriving instantly, you are better off using a disposable email address to check for immediate delivery and header passes.

Practical Strategy: Moving from None to Reject

The ultimate goal of monitoring these reports is to reach a p=reject policy. This should be done in stages to avoid blocking legitimate business communications.

  1. The Monitoring Phase (p=none): Start here. Collect data for at least 30 days. Identify every legitimate service sending mail as your domain.
  2. The Remediation Phase: Ensure every legitimate service you identified has SPF or DKIM alignment. If a service cannot align, it must be replaced or reconfigured.
  3. The Quarantine Phase (p=quarantine): Move to this policy to send failing emails to the spam folder. Monitor your reports for another week to ensure no critical business mail is being flagged.
  4. The Enforcement Phase (p=reject): This is the final step. Any mail that fails DMARC is now dropped entirely by the receiving server.

Best-TempMail utilizes these same principles to maintain high deliverability across its network. By strictly monitoring DMARC reports and ensuring perfect alignment, the service ensures that verification emails and OTP codes arrive in real-time without being flagged by ISP filters.

Frequently Asked Questions

Why am I getting so many DMARC reports all of a sudden?

If you added a rua=mailto: tag to your DNS, every major provider receiving mail from your domain will send daily reports. For active domains, this can result in hundreds of emails. It is standard practice to direct these to a dedicated "postmaster" or "security" email address to keep your primary inbox manageable.

Do I need to read Forensic (RUF) reports too?

Forensic reports (RUF) are sent immediately when an email fails authentication. However, many providers have stopped sending them due to privacy concerns, as they often contain snippets of the original email. For most domain owners, the Aggregate (RUA) report provides more than enough data to secure the domain.

What does "disposition=none" mean in a report?

This means the receiving server took no action against the email. This occurs either because the email passed authentication or because your policy is set to p=none. If you see "disposition=none" alongside an SPF and DKIM failure, it means a spoofed email was successfully delivered to a user's inbox because your policy is not yet enforced.

Can I stop receiving these reports once I am at p=reject?

You can remove the rua tag, but it is not recommended. Continuous monitoring ensures that you catch "shadow IT" early—such as a new department signing up for a marketing tool without notifying the IT team—and allows you to spot new spoofing trends.

How do I handle reports from providers I don't recognize?

You will receive reports from any ISP that receives mail from your domain. If you see a report from a regional ISP in a country where you have no customers, it usually means a spammer is targeting that region using your domain name. This is a clear signal that you need to move toward a p=reject policy.

For those who need to test their email configurations or require a high-quality inbox for developer testing, Best-TempMail provides nearly 80 free professional-grade email tools and a live API for automated QA.

Understanding how to read a DMARC report moves you from a passive observer to an active gatekeeper of your digital identity. By monitoring these XML files, you ensure that only authorized services can speak for your brand, protecting both your reputation and your recipients. Best-TempMail follows these industry standards to ensure its temporary addresses remain reliable and clear of global blacklists.

Free · Instant · Anonymous

Your temp mail is ready right now

No signup, no password. A disposable inbox waiting the moment you open the page.

Get My Free Temp Mail →