Skip to content

Email authentication adoption 2026

Of the top 10,000 domains that receive mail, 82.9% publish DMARC and 60.9% enforce it. 93.2% publish SPF, 65.0% a DKIM key we could find, and 4.0% MTA-STS.

Edition
2026
Published
November 1, 2026
DNS measured
November 1, 2026

01Key findings

  • DMARC is now the norm: 82.9% of the domains that receive mail publish a record, and 60.9% ask receivers to quarantine or reject failing mail. 21.8% stay at p=none.
  • 93.2% publish SPF. Softfail (~all) and fail (-all) endings are close to even, at 44.2% and 43.2%.
  • We found a DKIM key at a common selector for 65.0%. 46.0% have all three: one SPF record, a DKIM key, and DMARC at enforcement.
  • Transport security is rare. 4.0% publish MTA-STS and 4.5% TLS-RPT. BIMI, the brand logo record, is at 13.2%.
  • Google Workspace receives mail for 34.2% of these domains and Microsoft 365 for 15.7%, going by their MX records.

02Adoption by record

The first column counts only domains that receive mail, where the records matter most. The second counts every domain we measured.

RecordDomains that receive mail (7,252)All domains (9,999)

SPF

One or more v=spf1 TXT records at the domain

93.2%

6,760 domains

75.4%

7,535 domains

DMARC

A v=DMARC1 record at _dmarc

82.9%

6,013 domains

67.4%

6,743 domains

DMARC at enforcement

p=reject, or p=quarantine outside t=y test mode

60.9%

4,417 domains

50.4%

5,041 domains

DKIM

A non-empty key at one of 13 common selectors (an empty p= is a revoked key)

65.0%

4,715 domains

47.9%

4,785 domains

SPF, DKIM and enforced DMARC

One SPF record, a DKIM key found, and DMARC at enforcement

46.0%

3,338 domains

33.7%

3,365 domains

BIMI

A v=BIMI1 record at default._bimi

13.2%

958 domains

9.7%

973 domains

TLS-RPT

A v=TLSRPTv1 record at _smtp._tls

4.5%

324 domains

3.3%

325 domains

MTA-STS

A v=STSv1 record at _mta-sts

4.0%

287 domains

2.9%

289 domains

03DMARC policies

The p= tag says what receivers should do with mail that fails DMARC.

DMARC recordDomains that receive mail (7,252)All domains (9,999)

p=reject

Receivers are asked to refuse failing mail

35.1%

2,546 domains

31.2%

3,122 domains

p=quarantine

Receivers are asked to treat failing mail as suspicious

25.8%

1,873 domains

19.2%

1,921 domains

p=none

Monitoring only, no action asked. A record without p= counts here

21.8%

1,578 domains

16.8%

1,683 domains

Invalid

Several DMARC records, or a p= value that is not a policy

0.2%

16 domains

0.2%

17 domains

No DMARC record

Nothing at _dmarc

17.1%

1,239 domains

32.6%

3,256 domains

Asks for aggregate reports

A rua= address in the record

72.2%

5,233 domains

58.1%

5,808 domains

Legacy pct= below 100

An enforced record that still sets pct=, which RFC 9989 removed. Receivers may ignore it

1.7%

126 domains

1.4%

135 domains

Test mode

t=y with quarantine or reject: receivers apply one step lower, so quarantine in test mode is not counted as enforced

0.0%

2 domains

0.0%

2 domains

04How SPF records end

The last term of an SPF record decides what happens to mail from a server it does not list. Only domains with exactly one SPF record are counted.

EndingDomains that receive mail (7,252)All domains (9,999)

-all (fail)

Mail from servers not listed should be rejected

43.2%

3,131 domains

37.6%

3,762 domains

~all (softfail)

Mail from servers not listed is suspicious

44.2%

3,205 domains

33.2%

3,320 domains

?all (neutral)

No statement about other servers

2.0%

144 domains

1.6%

158 domains

+all or all (pass)

Any server may send for the domain

0.0%

3 domains

0.0%

3 domains

No all term

Often a redirect= to another record

3.1%

228 domains

2.4%

238 domains

Several SPF records

SPF returns a permanent error

0.7%

49 domains

0.5%

54 domains

05Who hosts the mail

Among the domains that receive mail, by the host their MX records name.

Mail host, from the MX recordsShare (7,252 domains)MX hosts per

Google Workspace

34.2%

2,477 domains

Google Workspace docs

Microsoft 365

15.7%

1,138 domains

Microsoft 365 docs

Mimecast

Filtering gateway; the mailbox host is behind it

1.9%

140 domains

Mimecast docs

Cloudflare Email Routing

Forwarding service; the inbox is elsewhere

1.6%

113 domains

Cloudflare Email Routing docs

Amazon WorkMail or SES

1.4%

103 domains

Amazon WorkMail or SES docs

Cisco Secure Email

Filtering gateway; the mailbox host is behind it

1.0%

69 domains

Cisco Secure Email docs

Yandex 360

0.9%

67 domains

Yandex 360 docs

Zoho Mail

0.9%

63 domains

Zoho Mail docs

Proton Mail

0.5%

33 domains

Proton Mail docs

GoDaddy Professional Email

0.3%

25 domains

GoDaddy Professional Email docs

Fastmail

0.3%

23 domains

Fastmail docs

Namecheap Private Email

0.3%

20 domains

Namecheap Private Email docs

Barracuda Email Gateway Defense

Filtering gateway; the mailbox host is behind it

0.2%

15 domains

Barracuda Email Gateway Defense docs

Rackspace Email

0.2%

15 domains

Rackspace Email docs

OVHcloud

0.1%

9 domains

OVHcloud docs

Proofpoint Essentials

Filtering gateway; the mailbox host is behind it

0.1%

8 domains

Proofpoint Essentials docs

Gandi

0.1%

7 domains

Gandi docs

ImprovMX

Forwarding service; the inbox is elsewhere

0.1%

6 domains

ImprovMX docs

IONOS

0.1%

5 domains

IONOS docs

mailbox.org

0.1%

4 domains

mailbox.org docs

iCloud Mail

0.0%

3 domains

iCloud Mail docs

Infomaniak

0.0%

2 domains

Infomaniak docs

Migadu

0.0%

2 domains

Migadu docs

Hostinger Email

0.0%

1 domains

Hostinger Email docs

Servers named after the domain

Run by the owner, or a provider behind a custom host name

15.2%

1,099 domains

Not identified

A host we could not match to a provider's own documentation

24.9%

1,805 domains

06Domains without mail

Of every domain measured. A null MX states that the domain takes no mail.

MX recordsDomains
Publish MX records

72.5%

7,252 domains

Publish a null MX (accept no mail)

0.8%

76 domains

Publish no MX record

26.6%

2,659 domains

MX lookup failed

0.1%

12 domains

07DKIM selectors we found

A domain often publishes several. Shares are of the domains that receive mail.

SelectorDomains with a key
google

28.9%

2,097 domains

s1

27.9%

2,023 domains

s2

27.0%

1,960 domains

selector1

18.8%

1,361 domains

k1

11.3%

820 domains

k2

11.2%

811 domains

selector2

10.6%

772 domains

mail

10.2%

737 domains

default

8.9%

645 domains

dkim

3.5%

254 domains

fm1

0.6%

40 domains

protonmail

0.4%

29 domains

sig1

0.1%

4 domains

08Method

We took the top 10,000 domains of Tranco list 7462X, created on October 31, 2026. It averages several popularity rankings from 2026-10-02 to 2026-10-31 and keeps only pay-level domains. 1 entry was not a valid host name and left out, which leaves 9,999 domains.

On November 1, 2026, over about 4 minutes, we asked public DNS-over-HTTPS resolvers (Google Public DNS, Cloudflare 1.1.1.1, AdGuard DNS (unfiltered)) for each domain's MX and TXT records, and for TXT records at _dmarc, _mta-sts, _smtp._tls, default._bimi, and 13 DKIM selectors: google, selector1, selector2, k1, k2, s1, s2, default, dkim, mail, sig1, protonmail, fm1. Each query had 5 seconds and up to 3 attempts, each on the next resolver.

"Domains that receive mail" (7,252) publish at least one MX record that is not a null MX. We name the mail host from the MX records with the table behind our email provider lookup, where each provider is matched only on host names its own documentation gives.

The script is scripts/email-auth-adoption-study.ts in the Shipmail repository. It keeps the per-domain answers outside the repository and writes only the totals, which you can download as JSON above. Run it with --list-id 7462X to repeat the measurement; DNS answers change, so a new run will differ slightly.

09Limits

  • DKIM is a lower bound. A domain can sign with any selector name, and we only tried 13 common ones.
  • We read DNS only. A record that exists may still be wrong in ways DNS does not show, and we did not fetch MTA-STS policy files or BIMI logos, or send any mail.
  • Popular domains are not typical domains. Many top sites are large companies, and some are content networks or API hosts that never send mail.
  • The MX host names the server that receives mail. When a filtering gateway sits in front of the mailbox, we count the gateway, not the mailbox host behind it. We name a host only when its provider's own documentation lists it, so some large services, such as gateways whose host names we could not confirm, count as not identified.
  • Some lookups failed after every attempt: MX for 12 domains, DMARC for 17, and at least one DKIM selector for 47. A failed lookup counts as no record, except MX: those domains are left out of the domains that receive mail. 10 domains did not exist in DNS at all.
Sources15 sourcesVerified 2026-11-01
  1. [1]
    Tranco list 7462X, top 10,000

    Daily Tranco list first generated on 2026-10-31. It aggregates the ranks from the Crux, Farsight, Majestic, Radar and Umbrella lists from 2026-10-02 to 2026-10-31 (30 days), combined with the Dowdall rule, and retains only pay-level domains. Rank 1 is google.com.

    tranco-list.eu · 2026-11-01

  2. [2]
    Tranco: methodology

    Tranco averages the ranks of its provider lists over the past 30 days, to improve agreement on the popularity of domains and stability over time.

    tranco-list.eu · 2026-11-01

  3. [3]
    RFC 7208: Sender Policy Framework (SPF)

    Sections 1.1.3 and 2.4: SPF checks the MAIL FROM identity from the SMTP envelope, and can also check HELO. Section 2.6: results are none, neutral, pass, fail, softfail, temperror and permerror. Section 3.2: a domain must not publish more than one SPF record; Section 4.5: two records give permerror. Section 4.6.2: the qualifiers + (pass, the default), - (fail), ~ (softfail) and ? (neutral). Section 4.6.4: include, a, mx, ptr, exists and redirect count toward a limit of 10 DNS lookups, all, ip4 and ip6 do not, and void lookups should be limited to two; going over gives permerror. Section 5.5: ptr should not be published. Section 6.1: redirect is ignored when the record has an all mechanism. Section 10.3 and Appendix D: a forwarder resends from its own IP address, so SPF fails unless the forwarder rewrites MAIL FROM.

    rfc-editor.org · 2026-10-11

  4. [4]
    RFC 6376: DomainKeys Identified Mail (DKIM) signatures

    Section 3.5: the signature is stored in the DKIM-Signature header field; d= is the signing domain, s= the selector, bh= the body hash and b= the signature data. Section 3.6.2.1: the public key is a DNS TXT record at selector._domainkey.domain. Section 3.5: h= lists the header fields that were signed; Section 5.4: the From header field MUST be signed. Section 3.6.1: key record tags v=DKIM1, k (default rsa) and p, where an empty p= means the key was revoked. Section 3.1: selectors allow several keys per domain and routine key replacement. Section 3.11: DKIM itself does not require d= to match any other header. Relays that do not change the content preserve the signature.

    rfc-editor.org · 2026-10-11

  5. [5]
    RFC 9989: Domain-based Message Authentication, Reporting, and Conformance (DMARC)

    Published May 2026 on the Standards Track; obsoletes RFC 7489 and RFC 9091. Section 4.7 tags: v=DMARC1 (required, first), p (none, quarantine, reject; treated as none if absent), sp (existing subdomains, defaults to p), np (non-existent subdomains), psd, t (test mode y or n, default n), rua and ruf (mailto: report addresses), adkim and aspf (r relaxed or s strict, default r), fo (default 0, ignored without ruf: 0 asks for a failure report when all mechanisms fail to give an aligned pass, 1 when any fails, d when a DKIM signature failed, s when SPF failed). Section 4.1: the policy record is a TXT record at _dmarc.<domain>. With t=y the domain owner is testing and expects failing mail to get the policy one step lower, so quarantine becomes none and reject becomes quarantine; t has no effect on reports. Relaxed alignment means the same organizational domain, strict means identical domains. If several DMARC records are returned for one name, all are discarded. Appendix A.6 removes pct, replaced by t, whose y and n values match pct=0 and pct=100; Appendix C.5.2 lists rf and ri as removed. Section 7.4: in forwarding, SPF will most likely fail while DKIM signatures generally remain valid; a domain publishing p=reject MUST NOT rely only on SPF and MUST apply valid DKIM signatures; domains whose users post to mailing lists should not publish p=reject, or should first publish p=none for at least a month and then p=quarantine for as long.

    rfc-editor.org · 2026-10-11

  6. [6]
    RFC 8461: SMTP MTA Strict Transport Security (MTA-STS)

    A domain announces MTA-STS with a TXT record at _mta-sts.<domain> that begins v=STSv1 and carries an id, and serves the policy over HTTPS at https://mta-sts.<domain>/.well-known/mta-sts.txt. The policy mode is enforce, testing or none.

    rfc-editor.org · 2026-11-01

  7. [7]
    RFC 8460: SMTP TLS Reporting

    A domain asks senders for reports on TLS connection failures with a TXT record at _smtp._tls.<domain> whose v value must be TLSRPTv1, and a rua address for the reports.

    rfc-editor.org · 2026-11-01

  8. [8]
    RFC 7505: A null MX resource record

    A domain that accepts no email publishes a single MX record with preference 0 and a target of ".", and no other MX record. Delivery attempts to it fail immediately.

    rfc-editor.org · 2026-11-01

  9. [9]
    RFC 8484: DNS queries over HTTPS (DoH)

    Defines how to send a DNS query over HTTPS, as a GET request with the query in the dns parameter or as a POST, with the application/dns-message media type. HTTP/2 is the minimum recommended version.

    rfc-editor.org · 2026-11-01

  10. [10]
    Google Public DNS: DNS-over-HTTPS

    Google Public DNS answers RFC 8484 queries, GET and POST, at https://dns.google/dns-query.

    developers.google.com · 2026-11-01

  11. [11]
    Cloudflare 1.1.1.1: make DNS-over-HTTPS requests

    Cloudflare offers a DNS over HTTPS resolver at https://cloudflare-dns.com/dns-query.

    developers.cloudflare.com · 2026-11-01

  12. [12]
    AdGuard DNS: known DNS providers, non-filtering

    AdGuard's non-filtering servers answer DNS-over-HTTPS at https://unfiltered.adguard-dns.com/dns-query. Unlike the Standard and Family Protection servers, they do not filter anything.

    adguard-dns.io · 2026-11-01

  13. [13]
    BIMI Group: implementation guide

    Step 1: SPF, DKIM and DMARC aligned, with DMARC at enforcement on the organizational domain and subdomains (p=quarantine or p=reject, and the same for sp); p=none or pct below 100 is not accepted. Step 2: an SVG Tiny PS version of the logo. Step 3, optional but highly recommended: a Verified Mark Certificate (VMC) or Common Mark Certificate (CMC); self-asserted records have limited support. The record is a TXT record at default._bimi.domain in the form v=BIMI1; l=SVG URL; a=PEM URL.

    bimigroup.org · 2026-10-11

  14. [14]
    Gmail email sender guidelines

    Since February 1, 2024, all senders to Gmail need SPF or DKIM, valid forward and reverse DNS, TLS, RFC 5322 formatting, and a Postmaster Tools spam rate below 0.3% (best practice below 0.1%). Senders of more than 5,000 messages a day also need SPF, DKIM and DMARC (policy may be none), a From domain aligned with SPF or DKIM, and one-click unsubscribe for marketing and subscribed mail. Messages of the same category should have the same From address, display names should be a consistent and accurate statement of the sender's identity, and subject lines should not start with Re: or Fwd: unless the message is a real reply or forward. The page does not mention no-reply addresses.

    support.google.com · 2026-10-11

  15. [15]
    Yahoo Sender Hub best practices

    Yahoo asks bulk senders to implement SPF and DKIM, publish a DMARC policy of at least p=none that passes, support one-click unsubscribe for marketing and subscribed mail, honor unsubscribes within 2 days, and keep the spam rate below 0.3%.

    senders.yahooinc.com · 2026-10-11