Skip to main content
Relaymetry

DMARC Record Generator

Build a DMARC record in seconds. Pick a policy, add a reporting address, copy the TXT record for _dmarc.

Host_dmarc.yourdomain.comValuev=DMARC1; p=none

A DMARC record is a single DNS TXT record, published at _dmarc.yourdomain.com, that tells receivers what to do when a message fails SPF and DKIM alignment, and where to send the reports. This DMARC generator (also called a DMARC builder or DMARC record creator) assembles that record for you. You pick a policy, add the address that should collect reports, and adjust alignment if you need to; the tool writes the v=DMARC1; ... string live as you go. The output is one record, because RFC 7489 §6.1 defines exactly one DMARC TXT record per domain at the _dmarc host.

The record is a list of tag=value pairs separated by semicolons. It opens with v=DMARC1 and a p= policy, then carries optional tags: rua= for aggregate reports, pct= to apply the policy to a share of mail, and adkim/aspf for alignment mode. A starter DMARC record example reads v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com, which is monitor-only, with reports flowing to one mailbox. Tighten p=none to p=quarantine and then p=reject once the reports confirm your legitimate mail is aligned.

Start with the policy. p=none (monitor) changes nothing for receivers but starts the aggregate reports, so it is the right first step on any domain that has never published DMARC. p=quarantine sends failing mail to spam; p=reject blocks it outright. Move up the ladder, not straight to reject — give yourself a few weeks of reports at each step to confirm every legitimate sender is aligned. Add a rua address you actually monitor; that mailbox receives the daily XML aggregate reports that show which sources pass and fail. The ruf (forensic) field is optional and most receivers no longer send it, so leave it empty unless you have a specific need.

Leave alignment on the relaxed default unless you know you need strict mode; relaxed (adkim=r, aspf=r) matches the organizational domain and is correct for almost everyone. Use pct only during a staged rollout — pct=50 applies the policy to half your mail while you watch the reports. The generator omits any tag left at its default, so the record stays as short as the spec allows. Copy the record and publish it as a TXT record at the _dmarc host of your domain (_dmarc.yourdomain.com), then confirm it with the DMARC checker.

Common questions

How to generate a DMARC record?

Pick a policy (none, quarantine, or reject), add a rua address to collect the reports, and adjust alignment only if you need to; the generator writes the v=DMARC1; ... string for you. Publish that string as a TXT record at the _dmarc host of your domain. A first record is often as short as v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com.

What is a DMARC generator?

A DMARC generator is a tool that builds a valid DMARC TXT record from the choices you make — policy, reporting address, percentage, and alignment — so you do not have to write the tag=value syntax by hand. This one assembles the record live and gives you the exact host (_dmarc.yourdomain.com) and value to paste into DNS.

What should my DMARC record be?

Start with v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com to monitor without affecting delivery. Read the aggregate reports for a few weeks, fix any legitimate sender that fails alignment, then raise the policy to p=quarantine and eventually p=reject. The right final record is p=reject with a working rua address — but only after the reports confirm your mail is aligned.

What is a DMARC record?

A DMARC record is a DNS TXT record at _dmarc.yourdomain.com that ties SPF and DKIM together. It tells receivers what to do when a message claiming to be from your domain fails both checks — do nothing (p=none), send it to spam (p=quarantine), or reject it (p=reject) — and where to send the reports that show who is sending as your domain. It is defined by RFC 7489.

Related