How to set up a DMARC record
How to write and publish a DMARC record, and why every domain should start at policy none before tightening it.
DMARC is the record that ties SPF and DKIM together. On their own, each produces a pass or fail result and nothing else — neither tells a receiving server what to actually do about a failure, and neither tells you it happened. A DMARC record answers both: it sets a policy for failing mail, and it gives you visibility into who is sending mail as your domain, including senders you had forgotten about and anyone forging you outright.
DMARC evaluates the results of SPF and DKIM checks — it does not replace them. If neither is in place yet, start with setting up SPF and setting up DKIM before publishing DMARC, or the policy will have almost nothing correctly passing to base a decision on.
What a DMARC record looks like
_dmarc.yourdomain.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com"
| Tag | Meaning |
|---|---|
v=DMARC1 | Marks the record as DMARC, version 1. Always first. |
p= | The policy: what to ask receiving servers to do with mail that fails. none, quarantine or reject. |
rua= | Where aggregate reports are emailed. This is the genuinely useful part — it tells you who is sending as your domain. |
pct= | Optional. Applies the policy to only a percentage of mail while you are still testing a stricter setting. |
Step 1: choose a reporting address
Use a mailbox you will actually check, since aggregate reports arrive daily from every major mail provider your domain sends to, and reading them is the entire point of setting DMARC up rather than just leaving SPF and DKIM to run alone. A dedicated address such as dmarc@yourdomain.com is common, so the reports do not mix into a personal inbox.
Step 2: publish the record at p=none
-
Open your DNS settings
Go to the DNS section of your control panel for the domain.
-
Add a TXT record
Set the host to
_dmarc— this exact prefix is required and is how receiving servers know where to look. -
Enter the record value
Use
v=DMARC1; p=none; rua=mailto:followed by your reporting address. -
Save and wait
The first reports typically start arriving within a day or two, though this varies by which mail providers your domain exchanges mail with.
Step 3: read the reports
Aggregate reports arrive as XML attachments, which is not something most people want to read by hand. A number of free online tools accept these reports and turn them into a readable summary showing every server that sent mail as your domain, and whether it passed or failed SPF and DKIM.
Look specifically for:
- Sources that are clearly you — your hosting mailboxes, your newsletter tool — and confirm they are passing.
- Sources you do not recognise, which need investigating before you tighten the policy any further.
- A sender you do recognise but that is failing, which usually means it needs adding to your SPF record or configuring for DKIM.
Step 4: tighten the policy in stages
-
p=none — monitor only
Nothing is rejected. This is where you start and where you stay until the reports show a clean, complete picture of your senders.
-
p=quarantine — mail goes to spam
Once you are confident the reports show all your real senders passing, move failing mail to spam rather than the inbox rather than blocking it outright.
-
p=reject — mail is refused
The strongest setting, and the one that actually stops someone else's forged mail from being delivered at all. Move here only once you have run at quarantine long enough to be sure nothing legitimate is still failing.
Adding pct=25 to a quarantine or reject policy applies it to only a quarter of matching mail at first, with the rest treated under the previous, looser policy. Raising this gradually — 25, then 50, then 100 — gives you a safety margin if something was missed in testing.
Common mistakes
- Jumping straight to p=reject. Covered above, and worth repeating: this is the single most common cause of legitimate mail silently vanishing after a DMARC record is added.
- No rua= address, or one nobody checks. Without reading the reports, you gain no visibility and the record is only doing half its job.
- Publishing DMARC before SPF and DKIM are stable. A policy based on incomplete authentication data leads to tightening it against a picture that is still wrong.
Once DMARC is live and reporting cleanly, it becomes part of the reason your mail is trusted by the large mailbox providers, several of which now expect authentication in place for bulk senders. It is not, by itself, the whole answer to mail landing in spam — see why your emails go to spam for the reputation and content factors that matter alongside it.
Frequently asked questions
What does p=none actually do?
Nothing to delivery. Mail that fails SPF or DKIM is still delivered exactly as it would be without a DMARC record at all. The only effect of p=none is that receiving mail servers start sending you aggregate reports about mail claiming to be from your domain, which is the data you need before choosing a stricter policy.
How long should I stay at p=none before tightening it?
Long enough to see a full pattern of your regular senders in the reports — a few weeks is typical, covering things like a monthly newsletter or an invoicing run that does not happen every day. Moving on before you have seen a complete cycle risks tightening the policy before you know about a sender that only sends occasionally.
Can I set the policy to reject straight away?
You can, but it is a bad idea. Almost every organisation has a forgotten sender — a booking form, a helpdesk tool, a CRM — and a reject policy silently discards their mail with no notification to you, because it is refused at the receiving end before it ever reaches an inbox you control. Start at p=none, read the reports, then tighten in stages.
Related reading
Three DNS records that between them answer one question: is this message really from you? Here is what each proves.
How to set up an SPF recordHow to build, publish and check an SPF record so receiving servers recognise your legitimate mail senders.
How to set up DKIM signingHow to enable DKIM signing for your domain and publish the selector record that lets receiving servers verify it.
Why your emails go to spam, and how to stop itEvery common reason outgoing mail is filtered as spam, ordered from the fixes that matter most to the ones that matter least.