Get online today — Domain + Hosting at discounted prices View Combo Offers ›

DMARC Record Generator

Build a DMARC record and know exactly what it will and will not block.

Most receivers never send forensic reports, for privacy reasons. Aggregate reports are the ones that matter.

Build a DMARC record for your domain. Choose a policy, add a reporting address, and get the exact TXT record to publish — along with a plain statement of what it will actually block.

If you are starting from nothing, publish p=none with a reporting address first. It blocks nothing, but it tells you who is sending mail as your domain, which is the information you need before tightening anything.

How it works

DMARC ties SPF and DKIM to the From: address recipients actually see, and tells receiving servers what to do when authentication fails. It is published as a TXT record at _dmarc.yourdomain.com — not at the domain root, which is where SPF lives. Publishing DMARC content at the root does nothing at all.

The rollout that works, in order:

  1. p=none with rua — collect aggregate reports for two to four weeks. You will almost certainly discover senders you had forgotten: invoicing, monitoring, a CRM, an old application server.
  2. Fix alignment for each legitimate sender, so SPF or DKIM passes on your domain rather than the platform's.
  3. p=quarantine — failing mail goes to spam. Watch reports.
  4. p=reject — failing mail is refused. This is the only setting that actually stops your domain being spoofed.

Two options are worth understanding before you set them:

  • Alignment (aspf, adkim). Relaxed is the default and allows subdomains to satisfy alignment — mail from mail.example.com aligns with example.com. Strict requires an exact match. Start relaxed; strict breaks many legitimate setups.
  • sp sets the subdomain policy. Without it, subdomains inherit p. Publishing p=reject alongside sp=none leaves every subdomain freely spoofable, which is rarely what anyone intends.

The reporting address can be at any domain, but if it is outside the domain the record covers, that other domain must publish an authorisation record. Sending reports to an address on the same domain avoids the complication entirely.

Frequently asked questions

Where do I publish this record?

As a TXT record with the host set to _dmarc — so the full name becomes _dmarc.yourdomain.com. Most DNS panels want just "_dmarc" in the host field and append the domain automatically.

Should I start with p=reject?

No. Start at p=none and read the reports. Going straight to reject before confirming every legitimate sender authenticates means silently rejecting your own mail — and the first you hear of it is a customer saying they never got an invoice.

Do I need SPF and DKIM before publishing DMARC?

You need at least one, and ideally both. DMARC passes if either aligns. With neither in place, p=none is still useful for visibility, but anything stricter would reject all of your mail.

What is the difference between relaxed and strict alignment?

Relaxed lets a subdomain satisfy alignment — mail from mail.example.com aligns with example.com. Strict demands an exact match. Relaxed is the default and correct for almost everyone; strict breaks many hosted email and marketing platforms.

Can I send reports to an address on a different domain?

Yes, but that domain must publish an authorisation record — a TXT record at yourdomain.com._report._dmarc.theirdomain.com containing v=DMARC1. Without it, most receivers will not send the reports. Using an address on the same domain avoids this.

What does pct do?

It applies the policy to only a percentage of failing mail, with the rest treated as the next weaker policy. It is a ramp for high-volume domains — pct=10, then 50, then 100. Leaving it below 100 permanently means most spoofed mail is not blocked.

Related tools

Need hosting that just works?

Free SSL, daily backups and 24×7 support on every Loudhost plan.

View Hosting Plans