What DMARC Protects You From, and What It Does Not
Understanding DMARC: The Reality of Your Email Protections
If you ask a handful of IT professionals what DMARC does, you'll likely get a variety of answers. Some claim it completely eliminates phishing, others say it kills all spam, and some believe it serves as a universal "safe" seal for emails.
In reality, DMARC (defined in RFC 9989) is far more specialized. It verifies one specific detail: Did the entity owning the domain in the "From" header actually authorize the transmission of this message via SPF or DKIM?
The reputation of DMARC often exceeds its actual utility. If you implement a p=reject policy and assume you are now "phishing-proof," you risk neglecting other critical security controls that handle the threats DMARC was never designed to stop.
The Foundation: How Email Identity is Proven
DMARC does not work in isolation; it relies on two primary building blocks:
| Technology | Function | Analogy |
|---|---|---|
| SPF (Sender Policy Framework) | A DNS record listing authorized IP addresses/servers allowed to send mail for a domain. | A guest list at a club door. |
| DKIM (DomainKeys Identified Mail) | A cryptographic signature attached to the email header. | A wax seal on a letter. |
The "Envelope" vs. The "Header"
To understand DMARC, you must understand the difference between two different "From" addresses:
- The Envelope Address: This is the technical routing address (the
MAIL FROM). It acts like the address on a physical shipping parcel—servers use it to route the mail, then discard it. - The Visible From: This is the address your email client displays (e.g.,
alerts@your-bank.com). This is what the human user actually trusts.
The Vulnerability: An attacker can use their own server for the envelope (which they control) while spoofing your bank's address in the visible From line.
DMARC's primary purpose is to bridge this gap. It ensures that whichever mechanism authenticated the mail (SPF or DKIM) matches the domain the human sees in the "From" field.
Anatomy of DNS Records
These configurations live as TXT records within your domain's DNS settings. While you don't need to memorize the syntax, recognizing their structure is helpful.
1. SPF Record
This record authorizes specific services (like Google Workspace or SendGrid) and tells receivers to treat everything else as unauthorized.
example.com.
TXT "v=spf1 include:_spf.google.com include:sendgrid.net -all"
include:pulls in the provider's server list.-allindicates a "Hard Fail"—if it's not on the list, it isn't us.
2. DKIM Record
This publishes the public key used to verify the cryptographic signature.
selector1._domainkey.example.com.
TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQ...AB"
3. DMARC Record
This ties the two together and provides instructions for failures.
_dmarc.example.com.
TXT "v=DMARC1; p=reject; rua=mailto:reports@example.com"
p=reject: The strictest setting; tells the receiver to block the mail if authentication fails.rua: The email address where aggregate reports (perRFC 9990) are sent.
Determining a "Pass"
DMARC evaluates SPF and DKIM independently. A message passes DMARC if at least one of the following is true:
- SPF authenticates the envelope domain that domain aligns with the visible
Fromdomain. - DKIM validates the signature the signing domain aligns with the visible
Fromdomain.
Mathematically, the logic looks like this:
Understanding "Alignment"
Alignment determines how closely the domains must match.
- Relaxed Mode (Default): Domains only need to share the same organizational root. (e.g.,
mail.example.comaligns withexample.com). - Strict Mode: Domains must be an exact match.
Note: If you see "SPF Pass, DMARC Fail," it usually means the envelope was authenticated, but it didn't align with the visible From address.
The Scope of Protection
✅ Where DMARC Succeeds
DMARC is highly effective against exact-domain spoofing. If a hacker tries to send an email appearing to be from your-bank.com without authorization, a p=reject policy tells the receiving server to drop the message.
Additionally, the aggregate reports allow admins to:
- Identify forgotten third-party mailing tools.
- Spot misconfigured mail relays.
- Monitor who is attempting to spoof their domain.
❌ Where DMARC Fails
DMARC does not inspect the content of the email, the links, or the intent of the sender. It is blind to the following:
- Look-alike Domains: An attacker registers
your-bank-support.com. They set up perfect SPF, DKIM, and DMARC for that domain. DMARC passes because the domain is technically legitimate, even though it's a scam. - Display Name Spoofing: The "Friendly Name" (e.g.,
"Your Bank Security" <alerts@random-domain.com>) is ignored by DMARC. Most users only read the name, not the address. - Account Takeover: If a legitimate account is compromised via phished credentials, the attacker sends mail through authorized infrastructure. DMARC passes because the mail is technically "authorized."
- Legitimate Spam: Anyone can register a domain (e.g.,
totally-legit-invoices.com) and configure flawless authentication to ensure their spam reaches the inbox.