DMARC Policy CheckerValidate Email Authentication Policy
Check DMARC records to validate policy configuration (none/quarantine/reject), verify reporting setup, and assess email authentication strength.
DMARC Policy Validation
DMARC (Domain-based Message Authentication, Reporting, and Conformance) builds on SPF and DKIM by defining policies for handling authentication failures. DMARC records are published at _dmarc.example.com as TXT records. Without DMARC, attackers can spoof your domain in phishing emails because receiving servers have no instructions on how to handle forged messages.
Why DMARC Matters for Email Security
Email spoofing remains one of the most common attack vectors for phishing and business email compromise. DMARC gives domain owners control over how receiving servers handle unauthenticated mail. Major email providers including Gmail, Yahoo, and Microsoft enforce DMARC policies, making it essential for any domain that sends email.
DMARC also provides visibility through reporting. Aggregate reports reveal which servers are sending email on your behalf, helping you discover unauthorized senders and misconfigured services. Without DMARC, you have no way to monitor domain abuse.
DMARC Policy Levels
p=none: Monitor mode. Recipients log authentication failures but deliver all mail normally. Use this when first implementing DMARC to gather data without risk of blocking legitimate email. This is where every DMARC implementation should start.
p=quarantine: Send emails that fail authentication to spam/junk folders. Provides protection while allowing recipients to retrieve false positives from spam folders. A good intermediate step before full enforcement.
p=reject: Block delivery of emails that fail authentication entirely. Strongest protection but requires confidence in SPF and DKIM configuration to avoid blocking legitimate mail. Google and other providers recommend reaching this level.
You can also use the pct tag to apply your policy to a percentage of messages. For example, p=quarantine; pct=25 quarantines only 25% of failing emails, letting you test enforcement gradually.
DMARC Reporting
rua (Aggregate Reports): Daily XML reports sent to specified email addresses showing authentication statistics. Example: rua=mailto:dmarc@example.com. These reports include sender IPs, message counts, SPF/DKIM results, and alignment outcomes. You can also specify a different reporting URI format with rua=mailto:reports@dmarc.example.com!10m to cap report size at 10 MB.
ruf (Forensic Reports): Individual reports for each authentication failure containing message headers and details. More verbose than aggregate reports and may contain sensitive information. Many organizations disable forensic reports due to privacy concerns and the volume of data they generate.
DMARC Alignment
DMARC requires alignment between the domain in the From header and authenticated domains from SPF or DKIM. Strict alignment (aspf=s or adkim=s) requires exact matches. Relaxed alignment (default) allows subdomain matches.
Example: Email from support@example.com must pass SPF/DKIM for example.com (relaxed) or support.example.com (strict) to align.
SPF alignment checks the envelope From (Return-Path) against the header From domain. DKIM alignment checks the d= domain in the DKIM signature against the header From domain. Both must align independently for DMARC to pass.
Recommended DMARC Implementation Steps
Step 1: Publish SPF and DKIM records for all sending services (marketing platforms, transactional email, corporate email).
Step 2: Publish a DMARC record with p=none and rua= to start collecting reports.
Step 3: Analyze aggregate reports for 2-4 weeks. Identify and fix any legitimate senders that fail authentication.
Step 4: Move to p=quarantine with pct=25 and gradually increase to 100%.
Step 5: Upgrade to p=reject for full protection against domain spoofing.