Free tool · DMARC record generator
DMARC Record Generator
Choose how receivers should treat mail that fails authentication, add where reports should go, and get the exact DMARC record to publish — following the current standard, RFC 9989. Everything runs in your browser.
What a DMARC record does
DMARC tells receiving servers what to do with mail that claims to come from your domain but fails authentication, and where to send reports about it. A message passes DMARC when SPF or DKIM passes for a domain that matches the From address people see. DMARC is defined by RFC 9989 (May 2026), which replaced RFC 7489.
How to publish your DMARC record
- Make sure SPF and DKIM are already set up for every service that sends as your domain — check with the SPF, DKIM & DMARC checker.
- Copy the record above.
- In your DNS, add a TXT record with the host
_dmarc(some DNS panels want the full name,_dmarc.example.com). - Wait for DNS to update, then run the DMARC checker.
The safe rollout: none → quarantine → reject
- Start with
p=noneand an rua address. Nothing changes for your mail; the reports show every service sending as your domain and whether it passes. - Fix what fails — add missing senders to SPF and turn on DKIM for each one.
- Move to
p=quarantine, optionally witht=yfirst, when your own mail passes consistently. - Finish with
p=reject. Forged mail is refused.
Gmail and Yahoo require bulk senders to publish DMARC; p=none meets that requirement, but only quarantine and reject actually stop spoofing.
What changed with RFC 9989
pctwas removed. Uset=yto test a stricter policy instead.npwas added — a policy for subdomains that don’t exist, a favourite of spammers.riandrfwere removed because receivers ignored them. This generator never adds them.
Questions
What DMARC policy should I start with?
p=none with an rua report address. It changes nothing for your mail while the reports show who sends as your domain. Move to quarantine, then reject, once your own mail passes.
Where do I add the DMARC record?
As a TXT record at _dmarc on your domain — for example _dmarc.example.com — wherever your DNS is managed.
Can my DMARC reports go to another domain?
Yes, but the receiving domain must authorise it by publishing “v=DMARC1” at yourdomain._report._dmarc.theirdomain. DMARC reporting services set this up for their customers.
What does t=y do?
It’s RFC 9989’s test mode: receivers apply one level less than your policy, so quarantine is treated like none and reject like quarantine. Receivers on the older standard ignore it.
Is pct still supported?
RFC 9989 removed pct. Receivers that still follow the older standard may read it, but new records should use t=y instead.
Is this generator free and private?
Yes. The record is built in your browser — nothing you enter is sent to our server.
Sources
More free tools
Check something else
Guides