XiaTools

Handling Multiple RUA Reporting Addresses in a Single DMARC Record

Updated 11 Oct 2026

Configuring multiple rua (Reporting URI for Aggregate reports) email addresses in a single DMARC record allows your domain to send daily aggregate XML reports to several mailboxes or third-party monitoring services simultaneously. By default, the Domain-based Message Authentication, Reporting, and Conformance protocol supports multiple destination URIs separated by commas, enabling robust oversight of your email ecosystem. To easily build and validate your setup, you can use the DMARC Record Generator to format your tags, define your policy, and ensure your reporting URIs are structurally sound before publishing them to your DNS provider.

Understanding the DMARC rua Tag

The rua tag stands for Reporting URI for Aggregate data. It tells receiving mail servers where to send daily XML reports detailing all email traffic passing authentication checks (SPF and DKIM) for your domain. These reports contain critical forensic and statistical data, including IP addresses, authentication results, and policy disposition.

While a single rua address is standard for basic setups, modern organizations often require multiple destinations. You might want reports sent to an internal security operations team, a dedicated logging server, and a third-party email intelligence platform at the same time. DMARC natively supports this by allowing a comma-separated list of mailto URIs within the rua tag value.

Exact Syntax for Multiple rua Addresses

When adding more than one reporting address to your DNS TXT record, you must adhere to strict syntax rules. Each address must be prefixed with mailto: and separated by a comma. Crucially, there should be no spaces between the comma and the next mailto: declaration, as improper spacing can cause strict parsers to reject the entire record.

Here is an example of a DMARC TXT record utilizing multiple rua addresses:

_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com,mailto:aggregates@thirdparty.example.net; sp=reject; pct=100"

Breaking Down the Components

  • v=DMARC1: Identifies the record as DMARC version 1 (mandatory and must be first).
  • p=reject: Instructs receiving servers to block emails failing DMARC.
  • rua=mailto:dmarc-reports@example.com,mailto:aggregates@thirdparty.example.net: Defines the primary internal inbox and the external vendor inbox for aggregate reports.
  • sp=reject: Applies the reject policy specifically to subdomains.
  • pct=100: Applies the policy to 100% of messages.

Configuring Multiple RUA Addresses in DNS

To publish your DMARC record, log in to your DNS hosting provider. Note that menu paths vary across providers such as Cloudflare, Route 53, or cPanel, but the general concept remains identical: you are creating a new TXT record on your root domain.

  1. Log in to your DNS provider control panel.
  2. Navigate to your domain's DNS Zone Editor or DNS Management page.
  3. Create a new record with the following settings:
    • Type: TXT
    • Name / Host: _dmarc (or _dmarc.example.com. depending on whether your provider auto-appends the root domain)
    • Value / Content: v=DMARC1; p=none; rua=mailto:admin@example.com,mailto:dmarc@thirdparty.com;
  4. Save the record and wait for DNS propagation.

Verifying Your DMARC Record

Once published, you must verify that receiving servers and diagnostic utilities can correctly parse your multi-address rua string. You can use command-line tools like dig or nslookup to check your public DNS records.

Run the following command in your terminal:

dig TXT _dmarc.example.com +short

Sample output:

"v=DMARC1; p=none; rua=mailto:admin@example.com,mailto:dmarc@thirdparty.com;"

To test name resolution on Windows PowerShell, run:

Resolve-DnsName -Name _dmarc.example.com -Type TXT

Cross-Domain Reporting Constraints

By default, if you specify an rua address on a domain that differs from the domain publishing the DMARC record (for example, publishing on example.com but sending reports to thirdparty.com), the receiving server will enforce external reporting validation.

To prevent malicious domains from flooding external inboxes with unwanted traffic reports, the target domain (thirdparty.com) must explicitly grant permission. It does this by publishing a DNS TXT record at a specific location:

example.com._report._dmarc.thirdparty.com. IN TXT "v=DMARC1;"

If this external authorization record does not exist, the mail server at the receiving end will silently drop the reports intended for thirdparty.com. Always check with your third-party monitoring vendors to ensure they have configured this handshake on their end.

Comparison: Single vs. Multiple RUA Destinations

Feature Single RUA Address Multiple RUA Addresses
Complexity Low; easy to read and manage Medium; requires careful comma and prefix placement
Redundancy None; single point of failure High; data goes to multiple independent systems
External Validation Required if domain differs Required for any external domain in the list
Storage Overhead Standard inbound volume Multiplied storage across endpoints

Common Mistakes and How to Fix Them

Even experienced engineers occasionally make syntax errors when combining multiple URIs into a single DMARC record. Here are the most frequent pitfalls:

  • Forgetting the mailto: prefix: Every single email address in the rua string must begin with mailto:. Writing rua=mailto:a@example.com,b@example.com will cause parsers to fail on the second address.
  • Including spaces: Adding a space after a comma (mailto:a@example.com, mailto:b@example.com) breaks compliance in several strict mail transfer agents.
  • Missing external records: Listing an external vendor without ensuring they have the corresponding _report._dmarc DNS entry means you will never receive reports at that address.
  • Exceeding length limits: While rare for rua addresses, keep DNS TXT string limits in mind if you list a massive number of reporting URIs.

Implementation Checklist

  • Gather all required internal and external email reporting URIs.
  • Confirm third-party vendors support external reporting handshakes (_report._dmarc).
  • Format the string using correct mailto: prefixes and comma separations without spaces.
  • Generate and validate your record syntax.
  • Publish the TXT record under _dmarc.yourdomain.com.
  • Test propagation using dig or nslookup.

Frequently asked questions

What is the maximum number of rua addresses allowed in a DMARC record?

While the DMARC specification does not enforce a strict numerical limit on the number of rua URIs, practical limits are dictated by DNS packet sizes and TXT record character limits. In most cases, listing more than two or three addresses is unnecessary and can complicate log management.

Why am I not receiving reports at my second rua address?

If your second address belongs to an external domain or third-party vendor, they must publish a specific TXT record on their domain authorizing yours to send reports there. Without this external authorization record, receiving mail servers will drop the XML reports.

Can I mix internal email addresses and external vendor addresses in the same rua tag?

Yes, you can combine internal mailboxes and external vendor URIs in a single rua string by separating them with a comma. Ensure that both use the `mailto:` prefix and that any external domain has completed the required authorization handshake.

Does the order of rua email addresses matter in a DMARC record?

Generally, mail servers process reporting URIs sequentially or attempt delivery based on server configuration, but standard compliant receivers attempt to send aggregate reports to all listed destinations. Putting your primary monitoring destination first is a good practice for clarity.

How do I troubleshoot syntax errors in my multi-address DMARC record?

Use a specialized online DMARC generator or validator tool to check your record string before publishing. Additionally, use command-line DNS lookup utilities like dig to confirm the record is published exactly as intended without stray spaces or missing prefixes.

Related articles

Free tools