Skip to content
Authentication

DMARC explained: what it is, why it exists, and how it works

DMARC lets a domain declare how its mail authenticates and what receivers should do with failures. How it builds on SPF and DKIM, and how evaluation works.

Email has a spoofing problem. The protocol that delivers mail (SMTP) was designed in 1982, and it has no built-in way to verify that a message actually came from the domain in the From: header. Anyone can send an email that appears to come from ceo@yourcompany.com, and without authentication, the receiving server has no reliable means of telling a genuine message from a forged one. DMARC (Domain-based Message Authentication, Reporting, and Conformance) exists to fix this. It gives domain owners a mechanism to declare how their domain sends mail and what receivers should do when a message fails the authentication process.

The problem DMARC solves

Before DMARC, two authentication standards already existed: SPF and DKIM. Both function, but both contain a critical gap. SPF (Sender Policy Framework) is a record in DNS that lists which IP addresses are allowed to send mail for a domain; the receiving server compares the envelope sender (the MAIL FROM in the SMTP conversation) to this list. DKIM (DomainKeys Identified Mail) is a cryptographic signature added to a message header: the sending server signs the message with a private key, and the receiving server verifies it using a public key published in DNS.

Here is the gap: neither SPF nor DKIM is tied to the From: header, which is the address that appears on the recipient's screen. SPF validates the envelope sender, which is often a different domain entirely (like an ESP's bounce domain). DKIM validates the domain that signed the message, which could also be a third party. This means a message can pass both SPF and DKIM while the From: header claims to be from a completely unrelated domain. The recipient sees ceo@yourcompany.com, but the authentication process only validated bounces.someesp.com. Everything passes through, yet the message is spoofed.

DMARC closes this gap with a concept called alignment: the authenticated domain must match the From: header domain. SPF and DKIM are ID checks; alignment is the step that confirms the person showing the ID is the same person named on the meeting invitation. Without that step, the ID check means nothing to the recipient.

How a receiving server evaluates DMARC

The evaluation flow

  1. 1

    Extract the From: domain

    The receiver reads the From: header and extracts the domain, for example yourdomain.com.

  2. 2

    Fetch the DMARC record

    It queries DNS for a TXT record at _dmarc.yourdomain.com.

  3. 3

    Evaluate SPF with alignment

    It checks whether SPF passed and whether the SPF-authenticated domain aligns with the From: domain.

  4. 4

    Evaluate DKIM with alignment

    It checks whether any DKIM signature passed and whether the signing domain (d= tag) aligns with the From: domain.

  5. 5

    Apply the policy on failure

    If either check passes with alignment, DMARC passes. If both fail, the receiver reads the policy (p= tag) to decide what to do with the message.

The parts of DMARC

The standard has four working parts, each covered in its own entry. The record and its tags define what you publish in DNS. The three policies (none, quarantine, reject) define what receivers do with failing mail. Aggregate reports provide visibility into every source that sends mail using the domain. And a safe rollout process connects them, moving from monitoring to enforcement without breaking legitimate mail. DMARC also has known limitations, forwarding chief among them, that shape how it should be deployed.

A minimal starting recordRFC 1035
TXT / SPFMX / PTRA / AAAACNAME / NS / other
_dmarc.yourdomain.com. INTXT"v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com"

This record does two things: it tells receivers a DMARC policy exists (even though none takes no action), and it tells them where to send aggregate reports so the domain owner can see who is sending mail as that domain.

DMARC as a compliance requirement

Since February 2024, Google and Yahoo require DMARC for domains sending more than 5,000 messages per day to their users, alongside valid SPF within the 10-lookup limit, DKIM signing (2048-bit keys recommended), From: alignment with at least one mechanism, one-click unsubscribe on promotional mail, and spam complaint rates below 0.3%. Microsoft adopted equivalent requirements for Outlook consumer domains in 2025. Meeting p=none satisfies the letter of these rules, but it provides zero spoofing protection; it only enables reporting. The goal should always be p=reject. That is where DMARC actually defends a domain.

The standard itself matured in parallel: DMARCbis, finalized at the IETF in 2025, replaced the original informational RFC 7489 with a Standards Track specification. Existing records remain valid, and the changes (a DNS tree walk for policy discovery, the retirement of the pct tag, a new np tag for non-existent subdomains) are covered in the record tags entry.

Frequently asked questions

Does DMARC directly improve deliverability?
Not exactly. DMARC is a binary pass/fail check, not a reputation score. But at p=reject, failing messages do not arrive at all, which prevents spoofers from damaging the domain's reputation. Many mailbox providers also treat a strong DMARC policy as a positive trust signal when evaluating senders.
What happens with no DMARC record at all?
Nothing, from DMARC's perspective. Receivers skip the DMARC check entirely and fall back on their own filtering. The domain then has no policy, reporting, or protection against spoofing. Any attacker can send mail as that domain, with no visibility into it for the owner.
Is DMARC still needed for a domain that does not send email?
Yes, arguably even more so. For a domain that never sends email, publish v=DMARC1; p=reject. This tells every receiver to reject any message claiming to be from that domain. It is one of the easiest and most impactful DNS records to set.
Does DMARC replace SPF and DKIM?
No. DMARC builds on SPF and DKIM and cannot function without at least one of them. It adds the alignment requirement, the policy layer, and the reporting loop on top of the authentication they provide.

Key takeaways

  • DMARC builds on SPF and DKIM; it does not replace them
  • The core concept is alignment: the authenticated domain must match the From: header domain
  • Policies (none, quarantine, reject) are published as DNS TXT records at _dmarc.yourdomain.com
  • Aggregate reports provide visibility into every source that sends mail using a domain
  • DMARC is a requirement for bulk senders under the Gmail and Yahoo rules, with Microsoft following in 2025