A correct DMARC record is one TXT record published at _dmarc.yourdomain, written as tag=value pairs separated by semicolons, starting with v=DMARC1 and followed by p= with none, quarantine or reject. A typical first record is v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com. Only one such record should exist.
Why it matters
Receivers read a DMARC record literally. A misspelt tag, a missing semicolon or a second record can cause the whole thing to be ignored, which leaves your domain unprotected while you believe it is covered. Getting the shape right takes a minute and avoids weeks of confusion.
How to do it
- Start with the host name. In your DNS control panel create a TXT record named
_dmarc. Some panels want the full name_dmarc.example.com, others add the domain for you. - Put
v=DMARC1first, thenp=second. This is the conventional order and the safest. - Add
rua=with amailto:address so reports reach you. - Paste one of these values, changing the domain and address.
Monitoring only, the usual starting point:
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com
Gradual enforcement, applying quarantine to a quarter of failing mail:
v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc-reports@example.com
Full enforcement with a separate policy for subdomains and strict alignment:
v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:dmarc-reports@example.com
- Save, wait for DNS to update, then confirm with
dig TXT _dmarc.example.com +short. Use How do I check my DMARC record? for the full check.
What each tag does: v is the version and must be first, p is the policy, sp is the subdomain policy, pct is the share of failing mail affected, rua takes aggregate report addresses, and adkim and aspf set DKIM and SPF alignment to relaxed (r) or strict (s).
Common mistakes
- Using commas instead of semicolons between tags. Commas are only for separating several report addresses.
- Putting the record on the bare domain rather than
_dmarc. - Adding quotation marks yourself in a panel that already adds them, which can produce doubled quotes.
- Publishing a second record instead of editing the first.
- Copying the example address without changing it, so reports go to someone else.
Frequently asked questions
Can I put a space after the semicolons?
Yes. Spaces around tags are allowed and make the record easier to read. Stray characters inside a value are not.
Do I have to add every tag?
No. Only v and p are needed. The others have defaults, such as pct=100, relaxed alignment, and subdomains following p when sp is absent.
Do I need rua?
The record is valid without it, but you would receive no reports. See what rua= means.
Related guides
- Set Up DMARC: From p=none to Quarantine and Reject
- What is DMARC?
- DNS records basics for launch
- DMARC alignment explained
Want to see how your published records look? Try the free website sample.