Skip to content

Standard

DMARC

DMARC (RFC 7489) is an email authentication standard built on SPF and DKIM, letting domain owners set policies for unauthenticated mail and get reports.

Known aliases

  • Domain-based Message Authentication, Reporting and Conformance
  • Domain-based Message Authentication, Reporting, and Conformance
  • p=none
  • p=quarantine
  • p=reject
  • RFC 7489

Current stories

buildOne report1 publisher

Fewer than half of the 1,000 most popular websites reject spoofed email

Just 474 of the 1,000 most popular websites set DMARC to reject spoofed mail, a dev.to survey of their DNS found. Thirty-two months after Google and Yahoo began requiring DMARC from bulk senders, 84.5% of the sites publish a record, but only 69.4% apply an enforcing policy to all their mail.

Publishers:dev.to

Reality

Evidence62
Adoption68
Hype gap0
Incentives
Not scored
Confidence60
securityOne report1 publisher

iCloud Mail header-smuggling flaws let users forge any @icloud.com sender past DMARC

SEC Consult's Timo Longin found two iCloud Mail flaws letting any signed-in user send SPF-, DKIM- and DMARC-passing mail as any @icloud.com address. A filter that read only those verdicts could not tell the forgeries from mail the real address owner sent.

Publishers:scworld.com

Reality

Evidence40
Adoption
Not scored
Hype gap+5
Incentives
Not scored
Confidence45
buildOne report1 publisher

DMARC fails mail that passes SPF and DKIM under the wrong domain

Transactional mail can pass SPF and DKIM and still fail DMARC when neither aligns with the visible From domain, a dev.to Node.js guide shows. Because forwarding breaks SPF, the author treats aligned DKIM as the path to protect.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+15
Incentives35
Confidence50
buildOne report1 publisher

Nested includes push GitHub's SPF record to exactly 10 of its 10 allowed DNS lookups

GitHub's SPF record uses all 10 DNS lookups RFC 7208 allows once the includes inside its vendors' records are counted. One more mail vendor would make SPF return PermError and leave GitHub's mail to pass DMARC on DKIM alone.

Publishers:dev.to

Reality

Evidence60
Adoption
Not scored
Hype gap+5
Incentives45
Confidence55
buildOne report1 publisher

Per-tenant SPF, DKIM and DMARC checks give each publisher domain its own rollback point

Publishers onboarding custom domains should confine wildcard DNS to routing and verify three mail records per tenant, a dev.to guide argues. That costs extra writes and waiting, and it gives every customer its own rollback boundary and audit trail.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap0
Incentives
Not scored
Confidence50
investConfirmed5 publishers

Revolut released passports and Bitcoin histories on an email that passed domain authentication

The request came from an unauthorized account on a real government domain, and Revolut acted on it. The company calls the number of affected customers limited, and it declined to say how many or name the agency.

Perspective Coverage

5 publishers
Builder
Builder 23%
Operator
Operator 55%
Investor
Investor 22%

Reality

Evidence68
Adoption
Not scored
Hype gap+10
Incentives55
Confidence66
buildOne report1 publisher

Five fields in the aggregate XML decide when DMARC can leave p=none

Publishing p=none starts an XML report feed and enforces nothing. A practitioner sequence for getting a domain to p=reject turns on an owned sender inventory, aligned DKIM and a written condition for each step.

Publishers:dev.to

Reality

Evidence62
Adoption
Not scored
Hype gap+10
Incentives20
Confidence55
buildOne report1 publisher

Three identities per zone keep a delete-and-recreate from becoming an identity failure

A dev.to walkthrough stores the provider's DNS zone ID as replaceable cache and checks the returned domain before every mutation. The cutover only closes when an independent DNS read matches the approved MX set.

Publishers:dev.to

Reality

Evidence30
Adoption
Not scored
Hype gap+10
Incentives20
Confidence38
buildOne report1 publisher

Storing each domain and mailbox proof as a timestamped event lets an auditor replay a disputed join

A dev.to post on healthtech workspace joining argues that DNS TXT challenges and mailbox confirmations prove different things, and the Go example it ships bounds DNS freshness at 24 hours while leaving the mailbox proof undated.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+10
Incentives20
Confidence50
buildOne report1 publisher

Splitting a tenant DNS cutover into lower, switch and restore gives each step its own deadline

A dev.to walkthrough of per-tenant subdomains on a gaming platform gives the TTL drop, the target change and the TTL restore separate deadlines, preconditions and audit evidence, so a worker that restarts can prove what it already applied.

Publishers:dev.to

Reality

Evidence32
Adoption
Not scored
Hype gap0
Incentives18
Confidence45
buildOne report1 publisher

Deleting pct=25 from a DMARC record quadruples the mail your policy touches

RFC 9989 removed the pct tag on 19 May 2026, and a record still carrying pct=25 describes a staged rollout that conforming receivers no longer honour. The replacement, t=y, gives one testing step and no percentages.

Publishers:dev.to

Reality

Evidence64
Adoption
Not scored
Hype gap+18
Incentives22
Confidence58
buildOne report1 publisher

Suppressing on the three-digit code converts a policy refusal into a dead address

In four codebases a dev.to author found bounce handlers that read 5.x.x and stopped, so a receiver's verdict on the sending domain got written down as a dead mailbox. The RFC 3463 subject digit separates the two.

Publishers:dev.to

Reality

Evidence55
Adoption
Not scored
Hype gap+12
Incentives40
Confidence57
buildOne report1 publisher

Counting the full SPF include tree nightly catches the vendor include that breaks your record

The DNS and header half of deliverability is a pure function of your own configuration, so a scheduled job can assert it; inbox placement is a measurement you put on a dashboard with a date on it.

Publishers:dev.to

Reality

Evidence52
Adoption
Not scored
Hype gap+10
Incentives55
Confidence55
buildOne report1 publisher

Receivers blend marketing and password reset mail into one history for the From: domain

A dev.to walkthrough splits outbound mail by risk profile. Whether that split changes anything for receivers comes down to one tag: sp= on the organizational domain. Subdomains still need their own SPF and DKIM either way.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap+12
Incentives60
Confidence55
buildOne report1 publisher

Property offboarding waits out the old 3,600-second TTL before it deletes one leasing record

A dev.to runbook for property-management DNS ties every record to a property ID, plans each delete against an expected current value, and calls the job done only once resolver checks agree.

Publishers:dev.to

Reality

Evidence48
Adoption
Not scored
Hype gap−5
Incentives18
Confidence55
buildOne report1 publisher

A shared alias that outlived an offboarding passes the mailbox check onboarding treats as ownership

A dev.to walkthrough of FastAPI onboarding separates two proofs that codebases keep merging, one testing whether a person can read mail at a domain and the other whether anyone can write to its zone. Negative caching explains why the first check fails.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap+8
Incentives22
Confidence55
buildOne report1 publisher

Two authentication passes on unrelated domains still fail DMARC alignment

A dev.to walkthrough traces a newsletter whose SPF and DKIM both pass for example.net while the visible From reads editorial.example. The evidence that settles it sits in the receiver's Authentication-Results header.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap+8
Incentives25
Confidence55
buildOne report1 publisher

A stable key per notice and channel lets a restarted worker resend only the pending SMS

A dev.to design post writes an attempt row before every provider call and keeps accepted apart from delivered across six states, paying extra latency where the API publishes no idempotent-send contract.

Publishers:dev.to

Reality

Evidence42
Adoption
Not scored
Hype gap−5
Incentives18
Confidence58
investOne report1 publisher

Revolut handed identity files and Bitcoin histories to an email that passed SPF, DKIM and DMARC

The request arrived from what looked like a government agency's domain, cleared all three email authentication checks, and Revolut's compliance team processed it. Notifications to affected customers began on September 11.

Reality

Evidence35
Adoption30
Hype gap+25
Incentives60
Confidence45
buildOne report1 publisher

Two records for one DNS entry turn a verified badge into a drift check

A dev.to onboarding design keeps the SPF, DKIM and DMARC values you generated in one row and the answers a resolver returned in another. Its comparator is a single stripped string match, so an SPF value the customer appended to lands in drifted.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+15
Incentives20
Confidence60

Earlier coverage