ToolNestr

DMARC Checker

Enter a domain to look up its DMARC record, parse all tags, and understand the email authentication policy.

Reviewed by the ToolNestr Editorial Team — July 2026

DMARC Record Lookup

How DMARC works in email delivery

Domain-based Message Authentication, Reporting and Conformance (DMARC) is an email authentication protocol defined in RFC 7489. It builds on SPF and DKIM by adding a policy layer that tells receiving mail servers what to do when email claiming to be from a domain fails authentication checks. DMARC also introduces a reporting mechanism that gives domain owners visibility into who is sending email on their behalf and whether those emails are passing authentication.

DMARC works by publishing a policy record as a TXT record at a specific DNS location: _dmarc.example.com. The record contains tags separated by semicolons. The most important tag is p= which sets the policy: none (monitor only, no action), quarantine (mark as spam), or reject (refuse delivery). The policy applies only when the email fails both SPF and DKIM authentication, or when the authenticated domain does not align with the domain in the From header.

Alignment is a key concept in DMARC. SPF authentication alone checks the envelope sender domain, but DMARC goes further by requiring that the domain in the From header aligns with the domain that passed SPF or DKIM. For SPF alignment, the domain in the From header must match the domain in the envelope sender (Return-Path). For DKIM alignment, the domain in the From header must match the domain in the DKIM signature's d= tag. Alignment can be strict (exact match only) or relaxed (subdomains are allowed to match), controlled by the aspf= and adkim= tags respectively.

DMARC also supports a subdomain policy (sp=) that applies to all subdomains of the organisational domain, independent of the main domain policy. The pct= tag allows a gradual rollout by applying the policy to only a percentage of failing messages. The rua= and ruf= tags specify email addresses where receiving servers send aggregate and forensic reports. Aggregate reports contain XML summaries of authentication results across all email received for the domain, while forensic reports contain copies of actual failing messages.

Deploying DMARC is a multi-step process that should be approached carefully. The recommended strategy is to start with a monitoring policy (p=none) and review aggregate reports for several weeks to identify all legitimate email sources. This ensures that no legitimate email is disrupted when the policy is tightened. Once all authorised senders are identified and authenticated with SPF and DKIM, the policy can be moved to p=quarantine with a low percentage, gradually increasing to 100 percent. The final step is p=reject, which provides the strongest protection against domain spoofing. Many organisations stay at p=reject once they are confident in their email authentication posture.

DMARC reporting is invaluable for security teams. Aggregate reports received via rua include information about the sending IP, the number of messages, the SPF and DKIM authentication results, and the disposition applied. By analysing these reports, domain owners can detect unauthorised use of their domain, identify misconfigured email senders, and verify that their email delivery partners are correctly authenticating messages. Forensic reports received via ruf contain full copies of failing messages, which can be used to investigate specific incidents of spoofing or misconfiguration.

DMARC Policy Enforcement Flow Diagram A diagram showing how a receiving mail server evaluates SPF and DKIM results, checks the DMARC policy, and decides whether to pass, quarantine, or reject an email Incoming Email From: user@example.com SPF Check envelope sender SPF Result: Pass / Fail DKIM Check cryptographic sig DKIM Result: Pass / Fail DMARC Evaluation alignment + policy Pass: accept | Quarantine: spam folder | Reject: refuse delivery DMARC Tags: p=none (monitor) | p=quarantine (spam) | p=reject (block) | pct= (percentage applied) | rua= (aggregate reports) | ruf= (forensic reports) adkim=r/s (DKIM alignment) | aspf=r/s (SPF alignment) | sp= (subdomain policy) | fo= (failure reporting options)
DMARC policy enforcement flow showing how SPF and DKIM results are combined with the DMARC policy to determine email disposition

DMARC tags explained

p= (Policy)

none — take no action against failing email. Used for monitoring. quarantine — deliver to spam/junk folder. reject — refuse delivery at the SMTP level. This is the required tag in every DMARC record.

pct= (Percentage)

Controls the percentage of messages that get the policy applied. Defaults to 100 if not specified. Use pct=10 for gradual rollout — only 10 percent of failing messages are affected.

rua= and ruf=

rua=mailto:dmarc@example.com — aggregate report destination. ruf=mailto:forensic@example.com — forensic/failure report destination. Multiple addresses are separated by commas.

adkim= and aspf=

r (relaxed) — subdomain matches are allowed. s (strict) — exact domain match required. Default is r for both. adkim controls DKIM alignment, aspf controls SPF alignment.

Common DMARC mistakes

The most common mistake is publishing a p=reject policy without first verifying that all legitimate email senders are authenticated with SPF and DKIM. This results in legitimate email being rejected, including transactional emails like password resets, order confirmations, and newsletters. Another frequent error is misconfiguring the DMARC record location — the record must be at _dmarc.example.com, not at the apex domain itself. Some administrators also forget to set up DKIM signing before deploying DMARC, meaning no email will pass DKIM checks.

A third common issue is failing to monitor DMARC reports after deployment. Many organisations set up a p=none policy with rua and ruf but never check the reports, missing the opportunity to identify unauthorised senders or misconfigured email streams before tightening the policy. It is also common to see syntax errors in DMARC records — missing semicolons, incorrect tag formatting, or mailto: without the colon. Use this DMARC checker to validate your record before publishing.

DMARC best practices

Start with p=none and monitor aggregate reports for at least two to four weeks. Use a DMARC report analysis tool to parse the XML reports and identify all legitimate sending sources. Ensure every legitimate sender has SPF and DKIM configured correctly. Gradually increase the policy to p=quarantine with a low pct value, monitor for issues, and increase the percentage over time. Once you are confident that no legitimate email is failing, move to p=reject. Set up rua reporting permanently so you can continuously monitor for new unauthorised senders. Consider implementing a subdomain policy with sp=reject to protect subdomains that do not send email. Remember that DMARC is only effective when combined with properly configured SPF and DKIM — all three protocols work together as a complete email authentication framework.

References and further reading

Frequently asked questions

What is a DMARC record?

A DMARC (Domain-based Message Authentication, Reporting and Conformance) record is a TXT record published at _dmarc.yourdomain.com in DNS. It tells receiving mail servers what to do with email that fails SPF or DKIM authentication checks. DMARC also provides a mechanism for domain owners to receive reports about authentication results.

What do the DMARC policies mean?

p=none means take no action against failing email but still receive reports. This is for monitoring only. p=quarantine means deliver suspicious email to the spam or junk folder. p=reject means reject the email outright at the SMTP level — the receiving server refuses to accept it.

What is the difference between adkim and aspf?

adkim (DKIM alignment mode) controls how strictly the From header domain must match the DKIM signing domain. r (relaxed) allows subdomains to match. s (strict) requires an exact match. aspf (SPF alignment mode) does the same for the SPF-authenticated domain vs the From header domain.

What are rua and ruf in a DMARC record?

rua (Report URI for Aggregate) specifies where receiving servers send aggregate XML reports summarising all authentication results for a domain. ruf (Report URI for Forensic) specifies where forensic/failure reports are sent — these contain copies of actual failing messages. ruf emails go to the address specified with mailto: syntax.

What is the pct tag in DMARC?

The pct (percentage) tag specifies what percentage of email messages the DMARC policy should apply to. For example, pct=50 means only half of failing messages get the quarantine or reject action. This allows gradual rollout of DMARC policies to minimise the risk of blocking legitimate email.

How do I start using DMARC?

Start with a monitoring policy: p=none with rua and ruf pointing to your email. Review the aggregate reports for a few weeks to identify all legitimate senders. Then move to p=quarantine with pct=10, gradually increasing the percentage. Finally move to p=reject once you are confident all legitimate mail is authenticated.

Why is DMARC important?

DMARC is the only email authentication protocol that gives domain owners control over what happens to unauthenticated email. It also provides visibility through reporting. Without DMARC, anyone can spoof your domain in the From header, and receiving servers have no policy to follow. DMARC is critical for preventing phishing attacks that impersonate your domain.

All tool categories

Networking & IP Tools (36 tools)
🧮 Everyday (26 tools)
💪 Health & Fitness (30 tools)
💰 Finance (34 tools)
🔢 Math (23 tools)
📄 PDF Tools (10 tools)
🎨 Creators (12 tools)
💻 Developers (24 tools)
⚡ Engineering & Science (24 tools)
⚛️ Physics (48 tools)
🧪 Chemistry (50 tools)
🧬 Biology (50 tools)
🏠 Construction & Home Improvement (105 tools)
👗 Clothing & Garment Tools (68 tools)
🍳 Cooking & Baking (9 tools)
🚗 Automotive (26 tools)
🖼️ Image Tools (13 tools)
🔐 Security & Hash (15 tools)
📝 Text Tools (15 tools)
🔍 SEO Tools (11 tools)
🔄 Converters (69 tools)
🕐 Time & Date (15 tools)
📊 Chart Generators (11 tools)
🕌 Islamic Tools (16 tools)