Who uses what for email DAILY

Mailbox providers and ESPs across the Tranco top-1M — snapshot of 2025-10-01.

644 366
Domains with MX
599 103
Domains with SPF
415 507
Domains with DMARC
644 366
Total scanned

What you're looking at. Four headline counts for the analysed Tranco snapshot: how many domains publish each kind of email-related DNS record. Higher MX vs SPF gap = more domains receive mail than authorise sending; higher SPF vs DMARC gap = SPF adopted but no policy/feedback enforcement yet.

Trend — last 30 day(s) · KPIs

Top mailbox providers

What this block shows. Where each domain hosts incoming mail — derived from its primary MX record (lowest mx_preference). This is the receiving side of email: Google Workspace, Microsoft 365, Zoho, on-prem Exchange, etc. "Generic / unmatched" buckets are common mail.* / mx*.* hostnames we couldn't attribute to a specific provider; "Unknown / Other" is everything else.

#Mailbox providerDomainsShare of MX-having domains
1Unknown / Other165 74425.72%
2Google Workspace141 13521.9%
3Microsoft 365106 09016.46%
4Generic / unmatched (mail.*)87 83713.63%
5Generic / unmatched (mx*.*)57 1958.88%
6Yandex 36013 1482.04%
7Mimecast10 0061.55%
8Generic / unmatched (smtp.*)7 8781.22%
9Zoho Mail6 8121.06%
10Amazon WorkMail4 7920.74%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Mail.ru for Business4 5000.7%
12OVH Mail4 3430.67%
13QQ Mail (Tencent)3 7790.59%
14Cisco IronPort2 9540.46%
151&1 IONOS2 9180.45%
16Rackspace Email2 6380.41%
17Mailgun (inbound)2 2700.35%
18Beget (RU)2 1720.34%
19Hosted Email (Rackspace/IONOS)2 1400.33%
20Zoho Mail (EU)1 6320.25%
21Gandi Mail1 4520.23%
22Alibaba Mail (China)1 4420.22%
23FastMail1 3940.22%
24ProtonMail1 2940.2%
25Timeweb (RU)1 1660.18%
26Titan (Hostinger)1 1230.17%
27NetEase Mail1 0200.16%
28Zoho Mail (IN)8730.14%
29Reg.ru7360.11%
30ImprovMX (forwarding)6770.11%

Trend — last 30 day(s) · Top mailbox providers

Long-tail / Unknown MX — the rest of the internet

What this block shows. The slice of domains whose mailbox cannot be attributed to a named provider — regional hosters, self-built Postfix/Exim, corporate gateways, niche ESPs. Researchers ask for this specifically because it captures the deliverability reality outside the Google / Microsoft monoculture. The detailed report drills down into Top-1000 most common unmatched hosts, 100 hand-picked curiosities (longest one-off names) and a TLD breakdown.

Unknown / Generic share
49.45%
318 654 domains
Unique unmatched MX hosts
194 458
individual hostnames in the long tail
Self-hosted
23.79%
153 294 domains running their own MX
📋 Open detailed long-tail report →·⬇ Download top-1000 unmatched MX (CSV)·⬇ Download 100 curiosities (CSV)

Top ESPs / mass-mailing services

What this block shows. Outbound mass-mailing platforms each domain authorises in its SPF record — the marketing-automation, transactional-email and customer-engagement layer (SendGrid, Mailchimp, Mailgun, Klaviyo, HubSpot, Salesforce Marketing Cloud, etc.). One domain can use several ESPs, so percentages sum to more than 100% of SPF-publishing domains.

#ESPDomainsShare of SPF-publishing domains
1Amazon SES35 2195.88%
2SendGrid (Twilio)28 5144.76%
3Mailgun24 6614.12%
4Zendesk24 1464.03%
5Mailchimp23 6053.94%
6Mandrill22 2803.72%
7Salesforce15 4452.58%
8Mailjet (Sinch)12 3502.06%
9Brevo (ex-Sendinblue)6 9101.15%
10Elastic Email4 3720.73%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Unisender (RU)4 0430.67%
12Marketo (Adobe)3 4900.58%
13SparkPost2 6790.45%
14Postmark2 5970.43%
15Salesforce Marketing Cloud2 0370.34%
16Constant Contact1 8740.31%
17MailerSend1 6550.28%
18Freshdesk1 5100.25%
19SMTP.com1 2680.21%
20SMTP.BZ7600.13%
21Sailthru6430.11%
22GetResponse5050.08%
23Customer.io4990.08%
24Eloqua (Oracle)2900.05%
25HubSpot380.01%
26Intercom310.01%
27Klaviyo110.0%
28Dotdigital50.0%
29Omnisend50.0%
30ConvertKit40.0%

Trend — last 30 day(s) · Top ESPs

SaaS senders (Notion, Slack, Zendesk, Atlassian, Stripe…)

What this block shows. SaaS apps that send mail FROM a customer's domain on the customer's behalf — productivity, support, payments, HR, e-commerce and other business apps appearing as include: targets in the customer's SPF. Distinct from ESPs (mass-mailing platforms) and mailbox providers (where the inbox lives).

#SaaS appDomainsShare of SPF-publishing domains
1Shopify5 5520.93%
2Pardot (Salesforce)5 3460.89%
3KnowBe43 3290.56%
4Atlassian (Jira/Confluence)1 9380.32%
5Trustpilot1 9020.32%
6Firebase (Google)1 5940.27%
7Qualtrics1 1180.19%
8BigCommerce1 1160.19%
9Lark / Feishu1 1140.19%
10NetSuite (Oracle)1 1090.19%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Sage Intacct9870.16%
12Oracle Cloud Email9450.16%
13Docebo (LMS)9160.15%
14Oracle Cloud8060.13%
15WordPress.com / WP Cloud7990.13%
16PayPal Braintree6380.11%
17Greenhouse6320.11%
18ClickDimensions6160.1%
19ConnectWise5940.1%
20Autotask (ConnectWise)5570.09%
21UKG / UltiPro5210.09%
22Zendesk4460.07%
23HappyFox4360.07%
24FormAssembly3790.06%
25Shoptet3560.06%
26Chargebee3310.06%
27Odoo3210.05%
28Freshsales (Freshworks)2070.03%
29Gorgias1740.03%
30Squarespace1140.02%

Trend — last 30 day(s) · Top SaaS senders

DMARC adoption

What this block shows. The policy each DMARC-publishing domain advertises at _dmarc.<domain>: none = monitor only, quarantine = mark as spam on fail, reject = drop on fail, invalid = a syntactically broken record. "Enforced %" treats only quarantine / reject with pct=100 as actually enforcing.

Trend — last 30 day(s) · DMARC enforced %

7d ago▲ +0.23%90d ago▲ +1.86%1y ago▲ +4.28%

Trend — last 30 day(s) · DMARC policies

Top 100 most-used DMARC records (verbatim)

The literal record string copied verbatim from DNS — useful to spot copy-pasted "starter" policies and identify reporting endpoints (the rua= / ruf= tags) shared across many domains.

#DMARC recordDomains
1v=DMARC1; p=none;46 713
2v=DMARC1; p=none32 341
3v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com6 333
4v=DMARC1; p=quarantine;4 140
5v=DMARC1;p=none;3 965
6v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 435
7v=DMARC1; p=quarantine3 377
8v=DMARC1; p=reject;3 232
9v=DMARC1; p=reject2 535
10v=DMARC1; p=quarantine; adkim=s; aspf=s2 534
11v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864002 447
12v=DMARC1; p=quarantine; pct=1002 253
13v=DMARC1; p=none; aspf=r; adkim=r;2 219
14v=DMARC1; p=none; aspf=r; sp=none1 912
15v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 708
16v=DMARC1;p=none1 697
17v=DMARC1;p=quarantine;pct=100;fo=11 409
18v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 333
19v=DMARC1; p=none; adkim=r; aspf=r;1 266
20v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 237
21v=DMARC1; p=reject; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;1 228
22v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;1 201
23v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 179
24v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email1 174
25v=DMARC1; p=none; sp=none;1 068
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;1 055
27v=DMARC1; p=none; sp=none935
28v=DMARC1;p=reject;776
29v=DMARC1; p=none; pct=100722
30v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s698
31v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email689
32v=DMARC1; p=reject; pct=100686
33v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;683
34v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400590
35v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com565
36v=DMARC1; p=reject; pct=100;542
37v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400532
38v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com479
39v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com470
40v=DMARC1;p=quarantine468
41v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com456
42v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;442
43v=DMARC1; p=quarantine; pct=100;433
44v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;432
45v=DMARC1; p=none; pct=100;392
46v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s375
47v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;364
48v=DMARC1; p=reject; adkim=s; aspf=s;359
49v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100356
50v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com348
51v=DMARC1; p=none; sp=none; adkim=r; aspf=r346
52v=DMARC1; p=none; fo=1344
53v=DMARC1;p=reject334
54v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;301
55v=DMARC1299
56v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400295
57v=DMARC1; p=none; adkim=r; aspf=r294
58v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net;270
59v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1268
60v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com257
61v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com254
62v=DMARC1;p=quarantine;251
63v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400236
64v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com233
65v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1231
66v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp229
67v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com223
68v=DMARC1; p=none; aspf=r; adkim=r213
69v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;212
70v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;212
71v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100210
72v=DMARC1; p=none; pct=100; rua=mailto:dmarc@fbl.optin.com;208
73v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com207
74v=DMARC1; p=reject; adkim=s; aspf=s205
75v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com203
76v=DMARC1;p=none;pct=100197
77v=DMARC1; p=reject; rua=mailto:zsrbf6su@ag.eu.dmarcadvisor.com;195
78v=DMARC1;p=none;pct=100;aspf=r;adkim=r;192
79v=DMARC1; p=quarantine; adkim=s; aspf=s;192
80v=DMARC1; p=none; rua=mailto:dmarc@reporting.unisender.com177
81v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl173
82v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com,mailto:dmarc@dyn.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com,mailto:dmarc@dyn.com; fo=1170
83v=DMARC1; p=reject; sp=reject168
84v=DMARC1; p=none; rua=mailto:dmarc.rua@edrone.app; ruf=mailto:dmarc.ruf@edrone.app167
85v=DMARC1; p=none; rua=mailto:dmarc@newsletters.visualsoft.co.uk; aspf=r; adkim=r; ri=86400; fo=1165
86v=DMARC1;p=none;pct=0;rua=mailto:dmarc@vercom.pl162
87v=DMARC1; p=none; rua=mailto:abuse@mailbiz.com.br; ruf=mailto:abuse@mailbiz.com.br162
88v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com160
89v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400159
90v=DMARC1; p=none; pct=50;157
91v=DMARC1;p=reject;pct=100;rua=mailto:dmarcreport@matrimony.com;ruf=mailto:dmarcreports@matrimony.com155
92v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf152
93v=DMARC1; p=reject; pct=100; adkim=s; aspf=s150
94v=DMARC1; p=none; rua=mailto:61e7fc8674b33@ag.eu.dmarcly.com; ruf=mailto:61e7fc8674b33@fo.eu.dmarcly.com; sp=none;149
95v=DMARC1; p=quarantine; sp=quarantine147
96v=DMARC1; p=none; pct=100; fo=1; ri=3600; rua=mailto:1dd3f5c7@inbox.ondmarc.com; ruf=mailto:1dd3f5c7@inbox.ondmarc.com;146
97v=DMARC1;p=reject;pct=100145
98v=DMARC1; p=reject; aspf=s145
99v=DMARC1; p=quarantine; fo=1144
100v=DMARC1; p=reject; fo=1; rua=mailto:dbotxvip@ag.eu.dmarcadvisor.com; ruf=mailto:dbotxvip@fr.eu.dmarcadvisor.com142

Unmatched MX targets — top 100

What this block shows. The most popular MX hostnames our dictionary does not yet attribute to a named mailbox provider. Public list — these feed back into dictionaries/mx_providers.py for the next iteration so coverage keeps improving.

#MX targetDomains
1route1.mx.cloudflare.net7 346
2route3.mx.cloudflare.net7 341
3route2.mx.cloudflare.net7 341
4eforward5.registrar-servers.com7 102
5eforward1.registrar-servers.com7 098
6eforward4.registrar-servers.com7 095
7eforward2.registrar-servers.com7 089
8eforward3.registrar-servers.com7 078
9smtp.secureserver.net5 362
10mailstore1.secureserver.net5 356
11mx1.hostinger.com4 698
12mx2.hostinger.com4 670
13nan3 174
14mx1-us1.ppe-hosted.com2 270
15mx2-us1.ppe-hosted.com2 249
16mx1.privateemail.com1 709
17mx2.privateemail.com1 697
18mx3-hosting.jellyfish.systems1 681
19mx2-hosting.jellyfish.systems1 679
20mx1-hosting.jellyfish.systems1 677
21mx10.antispam.mailspamprotection.com1 466
22mx30.antispam.mailspamprotection.com1 465
23mx20.antispam.mailspamprotection.com1 464
24mx.a.locaweb.com.br960
25mx.b.locaweb.com.br950
Show rows 26 – 100
#MX targetDomains
26mx.jk.locaweb.com.br947
27mx1.hostinger.in931
28mx1.mailchannels.net930
29mx2.mailchannels.net926
30mx01.hornetsecurity.com923
31mx2.hostinger.in922
32mx02.hornetsecurity.com921
33isaac.mx.cloudflare.net905
34amir.mx.cloudflare.net903
35linda.mx.cloudflare.net903
36mx03.hornetsecurity.com899
37mx04.hornetsecurity.com896
38mx.core.locaweb.com.br857
39mx.stackmail.com755
40us2.mx1.mailhostbox.com739
41us2.mx2.mailhostbox.com738
42us2.mx3.mailhostbox.com736
43park-mx.above.com705
44mx.spamexperts.com678
45mx1.qiye.aliyun.com673
46fallbackmx.spamexperts.eu665
47mx2.qiye.aliyun.com657
48lastmx.spamexperts.net651
49mx3.qiye.aliyun.com648
50mx.plingest.com622
51mx1.feishu.cn616
52mx2.feishu.cn616
53mx3.feishu.cn613
54dmail.kagoya.net587
55mx20.mailspamprotection.com566
56mx.securemx.jp566
57mx10.mailspamprotection.com563
58mta-gw.infomaniak.ch557
59mx1.csof.net556
60mx2.csof.net556
61mx30.mailspamprotection.com556
62localhost554
63smtpin.rzone.de549
64mx20.ukraine.com.ua539
65mx15.ukraine.com.ua534
66za-smtp-inbound-1.mimecast.co.za533
67za-smtp-inbound-2.mimecast.co.za532
68mx01.nicmail.ru527
69mxlb.ispgateway.de513
70mx02.nicmail.ru512
71mx03.nicmail.ru509
72mx2.forwardemail.net481
73mx1.forwardemail.net479
74mx.ukraine.com.ua449
75mail.register.it438
76mailstream-east.mxrecord.io427
77mailstream-west.mxrecord.io426
78mailstream-central.mxrecord.mx404
79mx01.lolipop.jp384
80mail.h-email.net379
81mx1-eu1.ppe-hosted.com368
82mx2-eu1.ppe-hosted.com367
83mx001.netsol.xion.oxcs.net365
84mx002.netsol.xion.oxcs.net365
85mx2.larksuite.com361
86mx1.larksuite.com360
87mx3.larksuite.com360
88mail337
89mx.serviciodecorreo.es332
90mx-biz.mail.am0.yahoodns.net322
91in.arubabusiness.it293
92mx1.spaceweb.ru283
93mx2.spaceweb.ru282
94mx1.123-reg.co.uk281
95mxext2.mailbox.org280
96mxext1.mailbox.org279
97mx0.123-reg.co.uk277
98mxext3.mailbox.org273
99mx01.udag.de271
100mx00.udag.de269

Unmatched SPF includes — top 100

What this block shows. The most popular SPF include: targets that don't match any known ESP, mailbox-as-sender, or SaaS pattern yet. Same feedback loop: top hits get added to dictionaries/esps.py or dictionaries/saas_senders.py.

#SPF includeDomains
1_spf.mx.cloudflare.net8 711
2secureserver.net8 693
3spf.efwd.registrar-servers.com7 283
4_spf.mail.hostinger.com6 401
5relay.mailchannels.net5 964
6_spf.mlsend.com5 671
7zoho.com5 578
8mx.ovh.com4 701
9us._netblocks.mimecast.com3 623
10websitewelcome.com3 590
11emsd1.com3 210
12emailsrvr.com3 039
13_spf.createsend.com2 641
14helpscoutemail.com2 566
15spf.mail.qq.com2 524
16beget.com2 467
17mxsspf.sendpulse.com2 373
18zcsend.net2 336
19_spf-eu.ionos.com2 259
20stspg-customer.com2 215
21spf.web-hosting.com2 167
22spf.sender.xserver.jp2 142
23spf.ess.barracudanetworks.com2 133
24eu._netblocks.mimecast.com2 068
25transmail.net1 780
Show rows 26 – 100
#SPF includeDomains
26_spf.rdstation.com.br1 752
27spf.emailsignatures365.com1 587
28zohomail.com1 576
29spf.messagingengine.com1 464
30spf.brevo.com1 426
31musvc.com1 418
32_netblocks.mimecast.com1 413
33spf.crsend.com1 326
34_incspfcheck.mailspike.net1 283
35_mailcust.gandi.net1 269
36spf.titan.email1 252
37_spf.timeweb.ru1 243
38spf.antispamcloud.com1 238
39spf.exclaimer.net1 236
40aspmx.googlemail.com1 233
41spf.tmes.trendmicro.com1 229
42spf.mxhichina.com1 226
43_spf.hostedemail.com1 212
44spf.hornetsecurity.com1 169
45spf.163.com1 127
46_spf.locaweb.com.br1 120
47spf.messagelabs.com1 113
48netblocks.dreamhost.com1 073
49spf.smtp2go.com1 061
50relay.mailbaby.net1 060
51_spf.kundenserver.de1 035
52spf2.esputnik.com1 021
53one.zoho.com1 001
54spfa.cpmails.com999
55_spf.jupiter.salesmanago.pl979
56spf.dynect.net969
57authsmtp.com969
58_spf.perfora.net966
59outboundmail.blackbaud.net931
60_spf.aruba.it915
61_spf.ukraine.com.ua910
62spf.securedserverspace.com890
63_spf.hosting.reg.ru874
64spf.ipzmarketing.com874
65spf-bma.mpme.jp862
66_spf.mailhostbox.com852
67spf.mysecurecloudhost.com852
68spfa.mailendo.com835
69spf.qiye.aliyun.com832
70mxsmtp.sendpulse.com796
71_spf.mailspamprotection.com794
72zoho.in781
73_spf.emaillabs.net.pl777
74spf.stackmail.com772
75spf-de.emailsignatures365.com759
76ispgateway.de751
77kagoya.net745
78_spf.dashasender.ru725
79spf.eu.exclaimer.net704
80usb._netblocks.mimecast.com697
81_spf.kmitd.com686
82spf.improvmx.com679
83cmail1.com670
84spf.infomaniak.ch660
85spf.unisender.ru656
86de._netblocks.mimecast.com649
87turbo-smtp.com648
88eu.zcsend.net644
89spf.mindbox.ru642
90_spf-us.ionos.com638
91spf.sendsay.ru631
92spf.webapps.net614
93au._netblocks.mimecast.com613
94agenturserver.de607
95spf.bmv.jp599
96sendersrv.com594
97eu.transmail.net594
98spf.us.exclaimer.net587
99bluehost.com587
100spf.flowmailer.net586

Methodology — how the numbers were produced

1. Data source

The dataset is the daily OpenINTEL forward-DNS Tranco snapshot, produced by the OpenINTEL project (University of Twente / SURFnet / SIDN Labs). OpenINTEL queries the entire Tranco top-1M domain list (https://tranco-list.eu/) daily for MX, TXT, NS, A, AAAA, SOA, CAA, DNSSEC and other records, publishing the results as Apache Parquet.

Cite: Roland van Rijswijk-Deij et al., "A High-Performance, Scalable Infrastructure for Large-Scale Active DNS Measurements", IEEE JSAC 2016.

2. Sample

We process the snapshot for a single date (the latest available, typically <24h delay) covering the entire Tranco top-1M list. No sub-sampling; every domain queried by OpenINTEL is included.

3. Mailbox provider classification

For each domain we read its MX RRset and pick the record with the lowest mx_preference as the primary mailbox host. The hostname of that primary MX is matched against an open regex dictionary (dictionaries/mx_providers.py). Specific patterns (e.g. .mail.protection.outlook.com) are tried first; generic fallbacks (mail.*, mx*.*) only after. Domains whose MX matches no rule are kept as "Unknown / Other" — never dropped — and exported in Unmatched MX targets below for dictionary improvement.

4. ESP (mass-mailing service) classification

For each domain's apex SPF record (TXT starting with v=spf1) we extract every include: and redirect= target and resolve them against an open dictionary (dictionaries/esps.py). One domain may use several ESPs simultaneously (e.g. SendGrid + Mailchimp), so ESP shares sum to more than 100% of SPF-publishing domains.

Note: this method does not count "flattened" SPF (where include chains were replaced with raw IPs to fit the 10-lookup limit) — those domains will appear as ESP-less even when an ESP is in fact used. This is a known limitation of any DNS-only methodology and is consistent across competitive surveys.

5. DMARC

For each domain we query the _dmarc.<domain> TXT record. Records starting with v=DMARC1 are parsed for p= (policy) and pct= (percentage covered). A domain is counted as enforced if p=quarantine or p=reject with pct=100 (or pct absent, which defaults to 100).

6. Tier breakdown

Each domain is assigned a tier from its Tranco rank: top-1k, top-10k, top-100k, top-1M, or unranked if absent from the list at scan time.

7. Reproducibility

Every published report includes the exact OpenINTEL date, dictionary hashes, and counts of unmatched MX hosts and SPF includes — so any reader can verify or reproduce the figures. Raw OpenINTEL parquet is downloaded into a temporary cache and deleted after analysis; only aggregated, non-redistributable counts are kept here (per OpenINTEL data agreement).

8. Limitations to be aware of

  • Tranco bias. Top-1M skews toward US/EU and global SaaS; ccTLD-only domains with low traffic may be under-represented.
  • SPF flattening hides ESP identity (see §4).
  • CNAME chains on MX (e.g. mail.example.com → mail.example.protection.outlook.com) are not unrolled — only the first MX target is matched. This biases a small share of domains toward "Unknown" when their MX is a CNAME to a known provider.
  • Vanity MX with white-label provider (e.g. some Mimecast/Proofpoint customers use their own brand) is not detectable from DNS alone.

Comments & corrections

Spotted a mis-classified MX target, missed ESP, or want to discuss a finding? We publish corrections in the next daily snapshot.

Send feedback to support@live-direct-marketing.online

Inline comments coming soon. For now, email is the fastest path — you'll see your fix reflected in tomorrow's run.

Historical reports

Daily snapshots — last 90 days kept fully, older ones thinned to monthly.

2026-04-27 — 665 219 MX, 624 507 SPF2026-04-26 — 673 272 MX, 632 104 SPF2026-03-01 — 683 543 MX, 639 798 SPF2026-02-01 — 688 114 MX, 641 985 SPF2026-01-01 — 660 114 MX, 616 352 SPF2025-12-01 — 668 692 MX, 622 313 SPF2025-11-01 — 659 524 MX, 613 922 SPF2025-09-01 — 685 366 MX, 635 390 SPF2025-08-01 — 681 988 MX, 632 521 SPF2025-07-01 — 687 700 MX, 638 068 SPF2025-06-01 — 699 879 MX, 648 954 SPF2025-05-01 — 711 257 MX, 659 028 SPF2025-04-01 — 702 306 MX, 651 786 SPF2025-03-01 — 705 611 MX, 653 173 SPF2025-02-01 — 696 358 MX, 644 666 SPF2025-01-01 — 674 214 MX, 626 064 SPF2024-12-01 — 675 247 MX, 626 465 SPF2024-11-01 — 669 912 MX, 614 354 SPF2024-10-01 — 659 879 MX, 603 315 SPF2024-09-01 — 660 693 MX, 604 347 SPF2024-08-01 — 639 733 MX, 586 007 SPF2024-06-01 — 614 961 MX, 562 373 SPF2024-05-01 — 621 817 MX, 566 602 SPF2024-04-01 — 641 948 MX, 582 732 SPF2024-03-01 — 666 638 MX, 601 954 SPF2024-02-01 — 653 497 MX, 588 373 SPF2024-01-01 — 657 371 MX, 586 519 SPF2023-12-01 — 660 455 MX, 588 456 SPF2023-11-01 — 666 944 MX, 591 587 SPF2023-10-01 — 675 039 MX, 597 200 SPF2023-09-01 — 694 895 MX, 612 567 SPF2023-08-01 — 716 729 MX, 622 501 SPF2023-07-01 — 653 321 MX, 565 370 SPF2023-06-01 — 656 260 MX, 561 661 SPF2023-05-01 — 657 236 MX, 561 046 SPF2023-04-01 — 662 162 MX, 562 122 SPF2023-03-01 — 730 155 MX, 620 415 SPF2023-02-01 — 715 023 MX, 602 519 SPF2023-01-01 — 712 767 MX, 599 702 SPF2022-12-01 — 712 641 MX, 594 977 SPF2022-11-01 — 710 891 MX, 590 969 SPF2022-10-01 — 716 152 MX, 594 587 SPF2022-09-01 — 716 956 MX, 595 410 SPF
Data source: https://openintel.nl/data/forward-dns/top-lists/
Generated automatically from OpenINTEL Tranco snapshot 2025-10-01. Aggregates only — raw OpenINTEL data is deleted after analysis per their data agreement.
Last build: 2026-04-28T19:15:06Z.