In short
A DMARC record generator turns your choices into a TXT record at _dmarc.yourdomain using current RFC 9989 syntax. The NCSC advises giving every domain, including parked ones, a DMARC record and starting at p=none, which does not interfere with email; many organisations move on to quarantine after about 6 to 8 weeks.
Get a quote for DMARC record set-up
Tell us roughly how many users or sites you have and we will come back to you with options and a quote.
Create your DMARC record
Choose your options and the record updates as you go. Copy the host name and value into your DNS as a TXT record.
Your record
Host name (record type TXT). Some DNS panels add your domain for you, so enter _dmarc; others want the full name.
_dmarcFull name: _dmarc.yourdomain.co.uk
Value
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.co.ukWhat each option in the generator does
The generator builds the record as you choose, following RFC 9989 section 4.7 (opens in a new tab). Every option maps to one tag:
| Option | Tag | Choices | Our suggestion to start |
|---|---|---|---|
| Policy | p | none, quarantine, reject | none, while you collect reports |
| Subdomain policy | sp | none, quarantine, reject, or leave out to inherit p | Leave out unless subdomains need different treatment |
| Non-existent subdomain policy | np | none, quarantine, reject, or leave out to inherit | reject once you are enforcing, so mail from made-up subdomains is refused |
| Aggregate report addresses | rua | One or more email addresses | The address your DMARC monitoring platform gives you |
| Failure report addresses | ruf | One or more email addresses (optional) | Often left out (see below) |
| DKIM (opens in a new tab) and SPF alignment | adkim, aspf | Relaxed or strict | Relaxed, the default |
| Failure report options | fo | 0, 1, d, s (shown only when ruf is set) | 0, the default |
| Test mode | t | Tick for t=y | Use it for the first weeks at quarantine or reject |
Two points worth knowing. Failure reports can contain the header fields or even the full content of a failed message, which RFC 9991 (opens in a new tab) notes may include personal data, so many organisations collect aggregate reports only. And the generator does not write pct: RFC 9989 removed it, and test mode (t=y) asks receivers to apply one level below your stated policy while reports carry on as normal.
Not sure which option fits? Ask us
Tell us what you need and we will recommend the right option for your organisation, with a quote.
Which DMARC policy to start with
Start at p=none. The NCSC calls this the monitoring phase and says it "does not interfere with your email traffic in any way" (opens in a new tab). Then step up to quarantine and reject as the reports show your senders are set up correctly; the NCSC says many organisations move on from none (opens in a new tab) after about 6 to 8 weeks. Our DMARC policy guide sets out the NCSC's timings for each stage, and t=y now does the trial job the NCSC's pages give to pct.
RFC 9989 section 7.4 (opens in a new tab) adds a nuance for domains your staff use for everyday email. Because mailing lists and forwarding can break authentication, it says domains whose users might post to mailing lists should not publish p=reject, and that any such domain that still wants to move to reject should first spend at least a month at p=none and an equally long period at p=quarantine. Domains at reject must also sign mail with DKIM rather than rely on SPF alone. For many organisations, quarantine on the staff domain and reject on dedicated sending and parked domains is the sensible end point. Our DMARC policy guide covers the choice in full.
Where your DMARC reports go
The rua tag is what turns a DMARC record into a source of information. Receivers that support reporting send an aggregate report, usually covering one day, to every address you list (RFC 9989 section 4.6 (opens in a new tab) says a report should go to each one). Separate several addresses with commas.
You need somewhere that can collect and read those reports. Pointing rua at an ordinary mailbox fills it with XML files, usually gzip-compressed (RFC 9990 (opens in a new tab)); a DMARC monitoring platform gives you a dedicated address, parses the reports and names the services sending as your domain. See DMARC reports for what each report contains and our DMARC report analyser guide for how to read them.
If the report address is at a different domain, that domain must agree to receive them. Under RFC 9990 section 4 (opens in a new tab), reports for example.co.uk sent to an address at reports.example.net only flow once reports.example.net publishes a TXT record at example.co.uk._report._dmarc.reports.example.net with the value v=DMARC1;. The generator warns you when this applies. Hosted DMARC services generally publish it for you: the Check Point admin guide, for example, says Check Point adds this authorisation record automatically for its hosted report mailbox.
Is DMARC record set-up the right fit for you?
We will check it against your systems and requirements and recommend the right option.
Adding the record to your DNS
Once the generator shows your record, publish it with your DNS host (the company that runs your domain's DNS, often your domain registrar or website host):
- Sign in to your DNS host and open the DNS records for your domain
- Check for an existing TXT record at _dmarc. If there is one, edit it rather than adding a second record, because two DMARC records cancel each other out
- Add a record of type TXT
- Enter the host name. Most DNS panels add your domain for you, so enter _dmarc; a few want the full name, such as _dmarc.example.co.uk. Entering the full name in a panel that adds the domain can create _dmarc.example.co.uk.example.co.uk, which receivers do not look up
- Paste the value the generator gave you, starting v=DMARC1;
- Save the record, then run the DMARC checker to confirm it is published and valid
- Watch for your first reports: the NCSC says they start arriving from major email providers within 24 hours
Long values are fine. Some DNS panels split a long TXT value into several quoted strings, and RFC 9989 tells receivers to join them back together before reading the record. Our step-by-step guide on how to set up DMARC covers SPF and DKIM as well.
Three common records from the generator
These are three common starting points, for a domain such as example.co.uk:
| Use | Host name | Value |
|---|---|---|
| First record (monitoring) | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@example.co.uk |
| Testing quarantine | _dmarc | v=DMARC1; p=quarantine; t=y; rua=mailto:dmarc@example.co.uk |
| Parked domain that sends no email | _dmarc | v=DMARC1; p=reject; sp=reject; np=reject; rua=mailto:dmarc@example.co.uk |
The NCSC says all of your domains, including parked domains (opens in a new tab), should have DMARC records whether they are used for email or not, which is why the parked domain record is worth publishing for every domain you hold but do not send from. For more examples, including subdomain and multi-address records, see the DMARC record explained.
How we help you set up DMARC
The generator gets a valid record into your DNS. We can help with everything around it.
- Pick a policy and report address for each domain: we can help you decide which domains start at p=none, which parked domains can go straight to reject, and where each domain's reports should go
- Set up reporting: we can connect your domains to a monitoring platform so reports go to a dedicated address and are easy to read
- Choose the platform: we can supply EasyDMARC, Valimail or the Check Point Email Security DMARC Management add-on, and compare them against your senders and how hands-on you want to be
- Move to enforcement: we can help you authorise each sending service and plan the steps from p=none to quarantine and reject
Platform licences can be billed monthly, with terms confirmed at quote. Contact us for free advice.
Frequently asked questions
Is the DMARC generator free?
Yes. The generator is free and runs entirely in your browser: the record is built on your screen as you choose options, and nothing you type is sent to this website. Copy the value into your DNS, then use the DMARC checker to confirm it.
Can I have two DMARC records?
No. A domain must have exactly one DMARC record. If receivers find more than one TXT record starting v=DMARC1 at the same name, RFC 9989 (opens in a new tab) says they discard them all, so the domain ends up with no policy. Put every option, including several report addresses, into a single record.
Does a DMARC record change mail flow at p=none?
No. At p=none receivers deliver mail as they would have anyway and simply send you reports. The NCSC says a policy of none does not interfere with your email traffic (opens in a new tab) in any way. Quarantine and reject do affect failing mail, which is why you read the reports first.
Should I still use pct=?
No. RFC 9989, published in May 2026, removed pct and lists it as historic. To try out a stricter policy, add t=y (test mode): receivers are asked to apply one level below your policy, so quarantine is treated as none and reject as quarantine, while reports carry on as normal.
Do I need a DMARC record for domains that do not send email?
Yes. The NCSC recommends DMARC records on all of your domains, including parked ones. For a domain that sends no email, v=DMARC1; p=reject; sp=reject; np=reject tells receivers to refuse anything claiming to come from it.
Can a hosted DMARC service manage the record for me?
Yes. With EasyDMARC Managed DMARC, EasyDMARC says you publish the record once through a CNAME and then make every policy change in its dashboard. With Valimail Enforce, Valimail asks you to delegate _dmarc to its name servers with an NS record (or a CNAME if your DNS host cannot do NS) so it can manage the record; Valimail Monitor only needs its reporting address in your rua tag. The Check Point add-on gives you a hosted report mailbox to add to your rua tag. Ask us for a quote.
Still have a question about DMARC record set-up?
Ask us and a member of our team will get back to you.