Skip to main content
New SPF lookups must resolve in milliseconds — why a DMARC tool's add-on isn't enough Learn Why → →

DMARC Record

A DMARC record is a DNS TXT record published at _dmarc.yourdomain.com that sets your DMARC policy (p=), SPF/DKIM alignment modes (aspf/adkim), and where aggregate (rua) and forensic (ruf) reports are sent.

This guide is part of our complete guide to DMARC. Related: the DMARC policy and how to set up DMARC.

A DMARC record is a DNS TXT record published at _dmarc.yourdomain.com that tells receiving mail servers how to handle messages that fail authentication. It sets your DMARC policy, defines SPF and DKIM alignment modes, and specifies the addresses where aggregate and forensic reports are sent.

A DMARC record ties your existing SPF and DKIM setup together and gives you visibility into who is sending email as your domain. Receivers read it during message evaluation, decide what to do with failing mail, and send reports back to the addresses you name.

What a DMARC record looks like

A DMARC record is a single TXT record whose value is a semicolon-separated list of tags. Here is a strict, enforcing example:

_dmarc.example.com  TXT  "v=DMARC1; p=reject; rua=mailto:dmarc@example.com; adkim=s; aspf=s; pct=100"

The host is _dmarc.example.com, the type is TXT, and the quoted string is the policy itself. Every DMARC record begins with v=DMARC1 and states a policy with p=. Everything else is optional and fills in reporting and alignment behavior.

The tags in a DMARC record

Each tag controls one aspect of how receivers evaluate and report on your mail. Only v and p are required; the rest fall back to sensible defaults when omitted.

TagPurposeNotes
vProtocol versionRequired. Must be v=DMARC1 and appear first
pPolicy for the domainRequired. none, quarantine, or reject
spPolicy for subdomainsInherits p if omitted
ruaAggregate report addressmailto: URI; where daily XML reports are sent
rufForensic report addressmailto: URI; per-failure samples (rarely supported)
adkimDKIM alignment moder relaxed (default) or s strict
aspfSPF alignment moder relaxed (default) or s strict
pctPercent of mail the policy applies to1100, defaults to 100
foForensic reporting options0, 1, d, or s for when samples are generated

Tags can appear in any order after v, and unknown tags are ignored by compliant receivers.

Where a DMARC record lives

A DMARC record is always published as a TXT record at the _dmarc subdomain of the domain it protects — for example.com that is _dmarc.example.com. You add it in your DNS provider’s control panel the same way you add any TXT record: host _dmarc, type TXT, and the policy string as the value.

Each domain and subdomain can have its own DMARC record. If a subdomain has no record of its own, receivers fall back to the organizational domain’s record and apply its sp tag (or p when sp is absent). A domain should have only one DMARC TXT record; multiple records make the policy invalid.

Alignment: aspf and adkim

Alignment is what connects a passing SPF or DKIM check to the domain your recipients actually see in the From header. The aspf and adkim tags control how exact that match must be.

  • Relaxed (r) — the default. The authenticated domain and the From domain only need to share the same organizational domain. mail.example.com aligns with example.com.
  • Strict (s) — the domains must match exactly. mail.example.com does not align with example.com.

Alignment is the reason DMARC is stronger than SPF or DKIM alone: a message can pass SPF and still fail DMARC if the passing domain does not align with the visible sender. For aspf to help you, you first need a valid, passing SPF record that authorizes your senders. For how alignment feeds into enforcement decisions, see the DMARC policy.

How to publish and check it

Publishing a DMARC record is a single DNS change, but rolling it out safely means starting at p=none for monitoring, reading your rua reports, and tightening toward p=reject only once legitimate mail is aligned. The full rollout sequence is covered in how to set up DMARC.

Once the record is live, confirm it resolves and parses correctly with our free DMARC checker. It fetches the TXT record at _dmarc.yourdomain.com, validates every tag, and flags common mistakes like a missing v=DMARC1, an invalid policy value, or a malformed reporting address before they cost you deliverability.

Frequently Asked Questions

What is a DMARC record?

A DMARC record is a DNS TXT record published at _dmarc.yourdomain.com that tells receiving servers how to treat email failing SPF and DKIM authentication. It defines your enforcement policy, sets SPF and DKIM alignment modes, and lists the addresses where receivers send aggregate and forensic reports about your domain’s mail.

Where is a DMARC record published?

A DMARC record is published as a TXT record at the _dmarc subdomain of the domain it protects, so for example.com the host is _dmarc.example.com. You create it in your DNS provider’s control panel exactly like any other TXT record. Each domain should have only one DMARC record, or the policy becomes invalid.

What does the rua tag do?

The rua tag names the address that receives DMARC aggregate reports, written as a mailto: URI such as rua=mailto:dmarc@example.com. Receiving servers send these daily XML reports summarizing which sources sent mail as your domain and whether it passed SPF, DKIM, and alignment. Reading them is how you find legitimate senders before enforcing a strict policy.

What is the difference between aspf=s and aspf=r?

aspf=r is relaxed SPF alignment, the default, where the SPF-authenticated domain only needs to share the same organizational domain as the From address. aspf=s is strict alignment, requiring the two domains to match exactly. Strict is more secure but can break mail from subdomains or third-party senders, so most domains start with relaxed alignment.

Rated 5/5 on G2 · Trusted since 2018

Trusted by 50,000+ domains

"AutoSPF Flattens SPF Records Seamlessly & Keeps Changes Logged - I am quite pleased with the product"

It does what it promises to do, and does it very well. I appreciate that it keeps a log of changes made, which prevents many mistakes. A client's SPF record would have way too many lookups, but AutoSPF makes that problem go away. The length of the SPF record is typically not the issue; it's the amount of lookups in the record that are. AutoSPF "flattens" the record, automatically expanding the defined lookups to IP addresses or ranges. And it auto-updates the record when the un-flattened lookups change.
PJ

Peter J.

President · Small-Business (50 or fewer emp.)

"Helped us go beyond capacity"

AutoSPF did exactly as described, it helped us get past our 10 lookup limit. Afterwards, we hit another limit regarding overall capacity and when contacted, they quickly provided us with a new solution to eliminate capacity issues entirely going forward, so now we can add as many SPF records as needed. They also provided us with a personalized support video explaining their new method in its entirety using our instance as the example.
VU

Verified User

Financial Services · Mid-Market (51-1000 emp.)

"Great service and great support"

AutoSPF was easy to initially set up on our own and a great cost effective entry into spf flattening. Needed our first support assistance today and got great response including a video demonstrating the issue I was trying to solve, a quick fix, and more detailed followup.
GF

Greg F.

Mid-Market (51-1000 emp.)