What is a DMARC record generator?
A DMARC record generator is a tool that builds a properly formatted DMARC TXT record based on your chosen settings — ready to copy and paste into your DNS management panel. Instead of writing the record syntax by hand (and risking errors), you configure the options visually and the generator produces a valid, publish-ready string like: v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@yourdomain.com
Where do I publish my generated DMARC record?
Log into your DNS provider's control panel (Cloudflare, Route 53, GoDaddy, Namecheap, etc.) and add a new TXT record. Set the hostname to _dmarc (your DNS provider will automatically append your domain), and paste the generated DMARC value as the record content. Set the TTL to 300 seconds initially so you can iterate quickly if changes are needed. After publishing, use the DMARC Checker tool on this site to verify the record is live and correctly configured.
Which DMARC policy should I start with?
Start with p=none combined with an rua= address. This monitoring mode delivers emails normally but sends daily aggregate reports showing who is sending email on behalf of your domain. After 2–4 weeks, review the reports, fix any authentication gaps with SPF and DKIM, then move to p=quarantine (failures go to spam), and finally p=reject (failures are blocked). Skipping straight to p=reject without monitoring risks blocking legitimate email.
What email address should I use for rua=?
Use a dedicated mailbox like dmarc@yourdomain.com that you check regularly, or a third-party DMARC reporting service (EasyDMARC, Postmark, Valimail, etc.) that parses the XML reports into readable dashboards. Major providers like Gmail and Outlook send reports daily. If you publish DMARC for a third-party domain, the third-party must publish a DNS record authorizing your rua= address to receive reports for that domain.
What is the difference between rua= and ruf= in DMARC?
rua= (aggregate reports) receives daily XML summary files from receivers listing all mail they saw from your domain and whether it passed or failed authentication. ruf= (forensic reports) receives individual failure reports for each message that fails DMARC — these can include message headers and sometimes full content. ruf= is less widely supported by receivers and raises privacy considerations, so rua= is the more important of the two. Many organizations only configure rua=.
What does pct= do in a DMARC record?
The pct= tag controls what percentage of non-authenticating messages the policy is applied to. For example, pct=10 means only 10% of failing messages are quarantined or rejected; the remaining 90% are treated as if p=none. This allows a gradual, risk-managed rollout — you increase pct as you gain confidence that legitimate email is authenticating correctly. Once fully deployed, set pct=100 for complete enforcement.
What is DKIM alignment (adkim=) in DMARC?
DKIM alignment determines how strictly the domain in the DKIM d= tag must match the From: header domain for DMARC to pass. Relaxed alignment (adkim=r, the default) allows subdomain matches -- a DKIM signature from mail.example.com satisfies DMARC for example.com. Strict alignment (adkim=s) requires an exact match between the DKIM d= domain and the From: domain. Relaxed is appropriate for most senders. Use strict only if you are certain all your signing configurations use the exact root domain.
What is SPF alignment (aspf=) in DMARC?
SPF alignment determines how strictly the envelope From (Return-Path) domain must match the From: header domain for DMARC to pass. Relaxed alignment (aspf=r, the default) allows subdomain matches -- a Return-Path of bounce.example.com satisfies DMARC for example.com. Strict alignment (aspf=s) requires an exact match. Most email service providers use a shared Return-Path domain for bounce handling, so relaxed SPF alignment is the correct setting for nearly all senders using a third-party ESP.
Should subdomains have their own DMARC records?
Subdomains inherit the parent domain's DMARC policy by default. You can override this with the sp= tag (for example, sp=reject on the parent domain ensures subdomains are also fully protected even if p= is still set to none for monitoring). Alternatively, publish a separate _dmarc.subdomain.com record to set a completely independent policy for that subdomain. High-risk subdomains like mail.yourdomain.com or store.yourdomain.com should have explicit protection.
How do I test my DMARC record after publishing?
After publishing your record, use our DMARC Checker tool to verify it was created correctly and is resolving as expected. The checker performs a live DNS lookup at _dmarc.yourdomain.com and validates each tag — the same way receiving mail servers read it. Allow a few minutes for DNS propagation before testing. You can also verify manually with the command: dig TXT _dmarc.yourdomain.com
Do I need DMARC even if my domain does not send email?
Yes. Non-sending domains are a prime target for phishing because they often lack authentication records. Attackers use them to send convincing spoofed emails that appear to come from your brand. Publish p=reject along with an SPF record of 'v=spf1 -all' (explicitly blocking all senders) to prevent your domain from being exploited. This takes 5 minutes and significantly reduces your phishing exposure.