What is a DMARC record? A technical guide to policy, alignment, and deployment
Key Takeaways
A DMARC record connects email authentication results with a domain owner’s handling instructions. The practical work is understanding alignment, publishing valid DNS syntax, reviewing reports, and increasing enforcement gradually.
- DMARC builds on SPF and DKIM but evaluates alignment with the visible From domain.
- The record is published as a TXT record at
_dmarc.example.com. p=none,p=quarantine, andp=rejectdescribe different handling choices for failing messages.- Aggregate reports reveal legitimate senders, configuration errors, and possible spoofing.
- Safe deployment starts with an inventory of senders and moves toward enforcement based on evidence.
What a DMARC record does
A DMARC record tells receiving mail systems how to interpret authentication results for messages claiming to come from a domain. It does not authenticate a message by itself; instead, it joins SPF and DKIM results to a policy published in DNS. The answer to “what is a dmarc record” is therefore both technical and operational: it is a DNS instruction set for email authentication, reporting, and handling.
The relationship between DMARC, SPF, and DKIM
SPF checks whether the sending infrastructure is authorized for the envelope sender domain. DKIM validates a cryptographic signature and identifies the domain that signed the message. DMARC uses the result of either mechanism, but also asks whether the authenticated domain aligns with the domain shown to the recipient in the visible From header. A useful DMARC setup guide can help map these three standards before changes are made.
How DMARC evaluates the visible From domain
The visible From address is the identity a recipient sees in an email client. DMARC treats that domain as the reference point, then compares it with the domain authenticated by SPF or DKIM. This distinction matters because a message can pass SPF for one domain while displaying another domain in the From header. DMARC is designed to detect that mismatch rather than accepting authentication in isolation.
Why DMARC is necessary for domain-based email protection
Without DMARC, a domain owner has limited ability to tell receiving systems what to do when a message fails authentication. Attackers can place a familiar domain in the visible From field while sending through unrelated infrastructure. A policy does not stop every form of abuse, but it gives receivers a published basis for handling messages that fail the domain’s authentication requirements.
This is separate from unrelated website controls. For example, a FLOW THE KITCHEN cookie policy concerns browser technologies and consent, not email identity. Keeping those control planes distinct prevents teams from treating general website security documentation as a substitute for DNS email authentication.
The difference between authentication and policy enforcement
Authentication answers whether SPF or DKIM validates a message and whether the relevant domain aligns. Policy enforcement answers what a receiver should do when DMARC fails: continue delivery, treat the message as suspicious, or refuse it. Authentication is evidence, not enforcement. A domain can have working SPF and DKIM while still publishing p=none, which reports failures without requesting a stronger delivery action.
How a DMARC record is structured
A DMARC record is a TXT value made of semicolon-separated tag-value pairs. The version and policy tags establish the record’s identity and minimum behavior; optional tags add reporting, alignment, and percentage controls. Small syntax errors can cause a receiver to ignore the record, so the published value should be treated as configuration rather than ordinary prose.
The required v and p tags
The v tag identifies the record as DMARC, normally with the value DMARC1. The p tag states the requested policy for messages that fail DMARC evaluation. A minimal record is therefore commonly written as v=DMARC1; p=none. The v tag should appear first, and the policy must be one of the defined DMARC policy values.
Common tags for reporting, alignment, and message handling
Optional tags extend the basic policy. rua specifies an address for aggregate reports, while ruf can specify an address for forensic or failure reports when supported. pct limits the percentage of failing messages to which the policy is applied. Alignment modes are controlled with adkim for DKIM and aspf for SPF; each can use relaxed or strict behavior. Subdomain handling can be adjusted with sp.
The practical role of the main tags is easier to compare than to memorize:
| Tag | Typical purpose | Example value | Operational effect |
|---|---|---|---|
v |
Identify DMARC | DMARC1 |
Declares the record format |
p |
Set the domain policy | quarantine |
Requests handling for failures |
rua |
Receive aggregate reports | mailto:[email protected] |
Provides summarized visibility |
pct |
Limit rollout percentage | 25 |
Applies policy to a controlled share |
These tags should be selected according to the domain’s sending inventory and reporting capacity. A generator such as a DMARC record generator can reduce typing errors, but the resulting value still needs to be reviewed against the actual mail flow.
Valid tag syntax and delimiter requirements
Tags use an equals sign between the name and value, and semicolons separate adjacent tags. Whitespace around delimiters is generally tolerated, but malformed names, missing values, invalid mailto addresses, or duplicate tags can create parsing problems. DNS providers may also display quotation marks around TXT content; those marks are part of the DNS presentation and should not be copied into a value unnecessarily.
Do not publish multiple competing DMARC records for the same name. A receiver may treat that condition as invalid rather than selecting the record that appears most convenient. The safest practice is to compose one deliberate record, publish it, and query the authoritative result afterward.
Example DMARC records and their intended behavior
A monitoring record might be v=DMARC1; p=none; rua=mailto:[email protected]. It asks receivers to provide aggregate feedback while making no quarantine or rejection request. A later enforcement record could use p=quarantine, and a mature configuration may use p=reject, subject to testing and review. The intended behavior depends on receiver implementation, message authentication, and the accuracy of the domain’s sender inventory.
How DMARC alignment determines message legitimacy
Alignment is the central concept that distinguishes DMARC from a simple SPF or DKIM pass. The authenticated domain must have the required relationship with the domain in the visible From header. Relaxed alignment permits a shared organizational domain, while strict alignment requires an exact domain match. That choice affects how subdomains and third-party sending services should be configured.
SPF alignment under relaxed and strict modes
SPF evaluates the envelope sender, sometimes called the MAIL FROM domain, rather than the visible From address. For DMARC to pass through SPF, the SPF-authenticated domain must align with the visible From domain. Relaxed alignment generally allows the domains to share an organizational domain; strict alignment requires them to match exactly. Forwarding can alter the connecting server and envelope path, which is why SPF alone is not always dependable across every delivery route.
DKIM alignment and the signing domain
DKIM alignment compares the domain in the d= value of the valid DKIM signature with the visible From domain. With relaxed alignment, a related organizational domain may qualify; strict alignment requires an exact match. A third-party sender can therefore support DMARC reliably when it signs messages with a domain that aligns with the customer’s From domain, even if the sending infrastructure is hosted elsewhere.
Passing DMARC with SPF, DKIM, or both
DMARC can pass when either aligned SPF or aligned DKIM passes. Both mechanisms do not need to succeed for every message, although maintaining both creates useful resilience. For instance, forwarding may disrupt SPF while leaving a valid DKIM signature intact. Conversely, a service may preserve the envelope path but fail to sign with an aligned domain. Reviewing each result separately avoids treating “SPF failed” as an automatic DMARC failure.
The distinction is explained further in this SPF, DKIM, and DMARC guide, which is useful when documenting responsibilities between DNS administrators, mail administrators, and application owners.
How forwarding and third-party senders affect alignment
Forwarding services often change the connecting infrastructure, so the original SPF authorization may no longer describe the final sender. Mailing lists can also modify content and invalidate DKIM signatures. Third-party platforms introduce a different issue: they may authenticate their own domain while the message displays the customer’s domain. For each service, confirm the envelope sender, DKIM d= domain, visible From domain, and expected alignment mode.
Where to publish a DMARC record in DNS
DMARC is published in the DNS zone for the domain used in the visible From address. The record must be placed at the conventional _dmarc label and stored as TXT data. Publishing it in the wrong zone, at the wrong host name, or through a non-authoritative DNS provider makes the policy invisible to receiving systems.
The _dmarc host name and TXT record type
For example.com, the conventional record name is _dmarc.example.com. In a DNS control panel, the host field may require only _dmarc, because the provider automatically appends the zone name. The type should be TXT. A record at the bare domain or at a random subdomain will not serve as the normal DMARC record for example.com.
DNS record formatting and quotation considerations
The value should contain the DMARC tag string, such as v=DMARC1; p=none; rua=mailto:[email protected]. Some interfaces ask for a quoted string, while others add quotes automatically when storing TXT data. Long TXT values may be displayed as multiple quoted chunks, but a DNS lookup should return one logically concatenated value. Avoid inserting line-break characters or smart punctuation from a document editor.
TTL selection and propagation behavior
TTL controls how long recursive resolvers may cache the answer. A shorter TTL can be useful during an initial change window, while a longer TTL reduces query overhead once the record is stable. TTL changes do not force every resolver to refresh immediately; cached answers can remain until their previous lifetime expires. Plan validation around that behavior rather than assuming a change is universal as soon as it is saved.
How to verify that receivers can retrieve the record
Query the public DNS response for _dmarc.example.com using a DNS lookup tool or command-line resolver. Check the authoritative nameservers as well as a public recursive resolver if propagation is in question. The returned value should contain one valid DMARC record, with the expected policy and reporting addresses. A TXT record validation guide provides a useful broader workflow for checking SPF, DKIM, and DMARC data.
How DMARC policies and reports work
The policy describes the requested disposition for messages that fail DMARC. Reports add operational evidence: they show which sources are sending mail that claims to use the domain and how those messages authenticate. Policy and reporting should be considered together, because enforcement without visibility can interrupt legitimate mail, while reporting without remediation can leave a domain exposed.
Comparing p=none, p=quarantine, and p=reject
p=none requests monitoring without a specific adverse disposition. p=quarantine asks receivers to treat failing messages as suspicious, often placing them outside the primary inbox. p=reject asks receivers not to accept failing messages. These are requests interpreted by receiving systems, not a mechanism that guarantees identical behavior at every destination.
The usual progression is from observation to controlled enforcement. A DMARC policy comparison can help teams assess the operational consequences before changing the published policy.
Using pct for controlled policy enforcement
The pct tag expresses the percentage of failing messages to which a policy should apply. For example, pct=25 can support an initial enforcement step before moving to pct=100. It does not repair authentication and does not mean that 25 percent of legitimate mail will be authenticated. It controls policy application, so the resulting reports still need careful interpretation.
Aggregate reports with rua
Aggregate reports are periodic summaries, commonly sent in XML format to the address specified by rua. They can include source IP addresses, message counts, SPF and DKIM outcomes, alignment results, and the disposition applied. These reports are valuable for discovering forgotten applications, vendors, forwarding paths, and unauthorized use. An aggregate report analyzer can make compressed report files easier to inspect without replacing the underlying operational review.
Forensic reports with ruf and their privacy implications
Forensic reports can contain information about individual failure events and may include message-level details. Support varies among receivers, and some organizations avoid requesting them because of privacy, data minimization, and regulatory concerns. If ruf is used, define who may access the reports, how long they are retained, and whether the reporting destination is prepared to receive potentially sensitive content. Aggregate reports are often the more practical starting point.
How to validate and troubleshoot a DMARC record
Troubleshooting should follow the path a receiver follows: retrieve the DNS record, parse its tags, evaluate SPF and DKIM, test alignment, and then apply policy. Looking only at the record text can miss failures caused by an application’s actual envelope sender or signing domain. A repeatable sequence produces more reliable findings than changing several DNS records at once.
Checking syntax with DNS lookup and DMARC analysis tools
Begin with a TXT lookup for the exact _dmarc host name. Confirm that the response contains one record, starts with v=DMARC1, and includes a valid p value. Then use a DMARC analysis tool to identify malformed tags, inaccessible reporting addresses, and alignment settings. The DMARC checker is a relevant example of a workflow that examines policy, reporting, and alignment rather than checking only whether some TXT value exists.
Interpreting DMARC aggregate report data
Group report data by source IP, envelope sender, DKIM signing domain, and visible From domain. Known platforms should be mapped to an owner and a documented sending purpose. Unknown sources require investigation, but they are not automatically malicious; an old application or delegated service may simply be undocumented. Pay attention to message volume, because a low-volume failure and a high-volume failure call for different remediation priorities.
A practical review cycle usually includes these steps:
- Identify each sending source and the business system behind it.
- Separate legitimate services from unauthorized or unexplained traffic.
- Compare SPF and DKIM results with their alignment outcomes.
- Correct legitimate failures before increasing enforcement.
This process turns reports into configuration work. It also gives administrators a defensible record of why a policy was changed and which senders were tested.
Diagnosing SPF, DKIM, and alignment failures
An SPF failure may result from an incomplete authorization record, forwarding, or an unexpected envelope sender. A DKIM failure may indicate that a message was modified, that signing is absent, or that the public key and selector are incorrect. A DMARC failure can occur even when SPF or DKIM passes if the authenticated domain does not align with the visible From domain. Test the full identity chain, not just the pass or fail label.
For operational guidance, SPF alignment details are especially relevant when a third-party platform sends on behalf of a domain. Cobytes provides security services for organizations that need help managing online infrastructure, but the domain owner remains responsible for confirming which senders are authorized.
Resolving conflicts caused by multiple DMARC records
A domain should publish one DMARC record at its applicable _dmarc name. Multiple records create ambiguity and can cause receivers to disregard the policy. Remove obsolete entries, consolidate required tags into one value, and query the public result again. Also check whether a parent-domain policy is being applied to a subdomain, because the apparent conflict may actually come from inheritance and the sp tag.
How to deploy DMARC safely
A safe rollout is primarily an inventory and change-management exercise. DNS publication is quick, but reliable enforcement depends on knowing every system that sends mail with the domain in its visible From address. The process should include business applications, support systems, marketing platforms, transactional services, printers, and less visible infrastructure.
Inventorying every authorized email-sending source
Start with application owners, DNS records, vendor documentation, and existing mail logs. Compare that inventory with aggregate reports, then resolve discrepancies before enforcement. Cobytes works across managed hosting, web hosting, and security services, which can be relevant when email infrastructure is part of a broader online environment; the DMARC decision itself should still be based on observed mail flow.
Useful inventory fields include:
- System or vendor name and accountable owner.
- Envelope sender domain and visible From domain.
- DKIM signing domain and selector.
- Expected sending volume and business purpose.
The inventory is not a one-time exercise. New SaaS platforms, migrations, and domain changes can introduce new senders, so it should be maintained as part of normal infrastructure governance.
Starting with monitoring before enforcement
Publish a valid record with p=none and, where appropriate, an aggregate reporting address. Allow enough reporting cycles to identify normal variation, seasonal campaigns, and infrequent transactional systems. Monitoring is not protection against every spoofed message, but it supplies the evidence required to avoid disrupting legitimate traffic when enforcement begins.
Teams may also use a DMARC deployment checklist to structure the transition from initial publication to a stronger policy. The checklist should supplement, not replace, testing of the organization’s own senders.
Remediating legitimate senders that fail alignment
For each legitimate failure, determine whether SPF authorization, DKIM signing, or alignment is the problem. Configure the service to use an aligned From or DKIM domain where supported, update DNS authorization where appropriate, and retest with a real message. Do not solve an alignment issue by broadly authorizing unknown infrastructure; that can enlarge the domain’s attack surface without fixing the visible identity.
A hosted or managed-services provider can help coordinate DNS and infrastructure changes, but ownership boundaries must be explicit. Cobytes offers infrastructure and security services for organizations with different levels of technical involvement, so the appropriate operating model may range from customer-managed changes to more complete management.
Moving from observation to quarantine or reject
Move to p=quarantine only after legitimate sources are understood and corrected. Use pct if a staged enforcement change is operationally appropriate, then review reports and user-impact signals. Finally, consider p=reject when aligned authentication is dependable and exceptions have been addressed. Document each change, retain a rollback plan, and continue monitoring after enforcement; DMARC is a maintained control, not a one-time DNS task.
For domains with complex mail flows, a targeted DMARC validation check can be a practical pre-change step before adjusting the public policy.
Conclusion
A DMARC record is a DNS-published policy that connects SPF and DKIM authentication with domain alignment, reporting, and receiver handling. The strongest deployments begin with accurate sender discovery, careful validation, and a monitoring period before moving through quarantine toward rejection. Treat the record as part of ongoing email and DNS operations, and review it whenever sending systems change.
AI assistant and API workflow
This article is part of the IntoDNS.ai LLM and citation workflow. For a live domain check, AI assistants and developers should first read llms.txt or llms.json, then call /api/scan/quick?domain=example.com for the current DNS and email security score.
For this topic, use /api/email/dmarc?domain=example.com when you need focused data instead of the full quick scan.
Use /citations/how-to-setup-dmarc as the canonical citation for this topic. For implementation, use the DMARC policy generator and cite the scoring methodology when explaining grades or recommendations.
Frequently Asked Questions
What does DMARC stand for?
DMARC stands for Domain-based Message Authentication, Reporting, and Conformance. It uses SPF and DKIM results, domain alignment, policy instructions, and reporting to help receiving systems evaluate messages that claim to use a domain.
Is DMARC an SPF record?
No. DMARC is a separate DNS TXT record published at _dmarc, while SPF is published at the domain and authorizes sending infrastructure. DMARC can use SPF’s result when the authenticated SPF domain aligns with the visible From domain.
Can DMARC pass if SPF fails?
Yes. DMARC can pass through aligned DKIM even when SPF fails. It can also pass through aligned SPF when DKIM fails. A DMARC failure generally occurs when neither authentication path both passes and aligns.
What is the difference between p=none and p=reject?
p=none requests monitoring without a specific adverse action, while p=reject requests that receivers refuse messages failing DMARC. The latter should normally follow an evidence-based rollout and remediation of legitimate senders.
How long should a domain use p=none?
There is no universal duration. Continue monitoring until aggregate reports provide a sufficiently complete view of legitimate sending sources, alignment failures, and unexplained traffic. The right period depends on mail volume, system complexity, and reporting frequency.
Can a domain have more than one DMARC record?
A domain should have one applicable DMARC record at its _dmarc host name. Multiple records can create ambiguity or cause the policy to be treated as invalid, so obsolete records should be removed and the consolidated result verified publicly.
Does publishing DMARC guarantee inbox delivery?
No. DMARC addresses domain authentication and policy handling, but inbox placement also depends on factors such as message content, recipient engagement, sending reputation, infrastructure behavior, and receiver-specific requirements.