Who uses what for email DAILY

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

675 039
Domains with MX
597 200
Domains with SPF
258 153
Domains with DMARC
675 039
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 27 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 / Other193 38128.65%
2Google Workspace135 35120.05%
3Generic / unmatched (mail.*)100 98114.96%
4Microsoft 36591 77113.59%
5Generic / unmatched (mx*.*)61 7159.14%
6Yandex 36014 6502.17%
7Mimecast10 9831.63%
8Generic / unmatched (smtp.*)9 2141.36%
9Zoho Mail6 1750.91%
10QQ Mail (Tencent)5 4680.81%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11OVH Mail4 7180.7%
12Amazon WorkMail4 5250.67%
13Mail.ru for Business4 2150.62%
14Cisco IronPort3 3550.5%
15Rackspace Email3 3180.49%
16Beget (RU)2 5970.38%
171&1 IONOS2 2550.33%
18Mailgun (inbound)2 1490.32%
19Gandi Mail1 8640.28%
20Alibaba Mail (China)1 7200.25%
21Hosted Email (Rackspace/IONOS)1 4900.22%
22FastMail1 4210.21%
23Zoho Mail (EU)1 3630.2%
24Titan (Hostinger)1 3290.2%
25NetEase Mail1 1540.17%
26Timeweb (RU)1 0620.16%
27ProtonMail1 0070.15%
28CSC (corporate)8290.12%
29ImprovMX (forwarding)8280.12%
30Zoho Mail (IN)6500.1%

Trend — last 27 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
54.11%
365 291 domains
Unique unmatched MX hosts
227 776
individual hostnames in the long tail
Self-hosted
27.27%
184 078 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 SES29 2024.89%
2Mailchimp26 5444.44%
3Mandrill25 6234.29%
4SendGrid (Twilio)24 2164.05%
5Zendesk22 4643.76%
6Mailgun19 7803.31%
7Salesforce12 5832.11%
8Mailjet (Sinch)10 3991.74%
9Brevo (ex-Sendinblue)8 1391.36%
10Marketo (Adobe)4 1690.7%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Elastic Email3 9090.65%
12Unisender (RU)3 1180.52%
13SparkPost2 8000.47%
14Postmark2 5780.43%
15Salesforce Marketing Cloud2 1690.36%
16Constant Contact1 9940.33%
17Freshdesk1 8360.31%
18SMTP.com1 1860.2%
19MailerSend8000.13%
20Sailthru7230.12%
21Customer.io6360.11%
22SMTP.BZ5890.1%
23Eloqua (Oracle)3450.06%
24GetResponse2380.04%
25Intercom150.0%
26Dotdigital60.0%
27HubSpot60.0%
28Klaviyo20.0%
29AWeber20.0%
30MailPoet10.0%

Trend — last 27 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
1Pardot (Salesforce)6 6621.12%
2Shopify3 8080.64%
3KnowBe42 4380.41%
4Atlassian (Jira/Confluence)2 0290.34%
5Trustpilot1 8090.3%
6Firebase (Google)1 2420.21%
7Qualtrics9910.17%
8NetSuite (Oracle)9890.17%
9BigCommerce9610.16%
10ClickDimensions8170.14%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Docebo (LMS)7870.13%
12ConnectWise7550.13%
13PayPal Braintree6750.11%
14Autotask (ConnectWise)6280.11%
15Greenhouse5610.09%
16Oracle Cloud Email5570.09%
17Zendesk5460.09%
18Sage Intacct4920.08%
19Oracle Cloud4890.08%
20Lark / Feishu4160.07%
21HappyFox3330.06%
22UKG / UltiPro3110.05%
23Freshsales (Freshworks)2650.04%
24Chargebee2370.04%
25Shoptet2290.04%
26Gorgias2020.03%
27FormAssembly1970.03%
28Odoo1620.03%
29Squarespace1520.03%
30Recurly1250.02%

Trend — last 27 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 27 day(s) · DMARC enforced %

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

Trend — last 27 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=none20 653
2v=DMARC1; p=none;7 207
3v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864003 963
4v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com2 963
5v=DMARC1; p=quarantine;2 551
6v=DMARC1; p=quarantine2 384
7v=DMARC1; p=reject;2 229
8v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com2 016
9v=DMARC1; p=reject; rua=mailto:dmarc_report@mail.liamfactory.com; ruf=mailto:dmarc_report@mail.liamfactory.com; fo=1; pct=1001 906
10v=DMARC1; p=reject1 752
11v=DMARC1; p=none; aspf=r; sp=none1 696
12v=DMARC1;p=quarantine;pct=100;fo=11 400
13v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 364
14v=DMARC1; p=quarantine; pct=1001 282
15v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 039
16v=DMARC1; p=none; sp=none1 013
17v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;992
18v=DMARC1;p=none915
19v=DMARC1; p=none; sp=none;891
20v=DMARC1; p=quarantine; adkim=s; aspf=s851
21v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email814
22v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400795
23v=DMARC1;p=none;769
24v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com734
25v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400703
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; pct=100641
27v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com556
28v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com513
29v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email462
30v=DMARC1; p=reject; pct=100460
31v=DMARC1; p=reject; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com441
32v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;433
33v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400370
34v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:adobe@rua.agari.com; ruf=mailto:adobe@ruf.agari.com; fo=1333
35v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;291
36v=DMARC1;p=quarantine281
37v=DMARC1; p=none; fo=1280
38v=DMARC1; p=reject; pct=100;272
39v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400271
40v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com271
41v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1261
42v=DMARC1253
43v=DMARC1; p=reject; adkim=s; aspf=s;249
44v=DMARC1;p=reject248
45v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com246
46v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf244
47v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100243
48v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;243
49v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com241
50v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1238
51v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1233
52v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;229
53v=DMARC1; p=quarantine; pct=100;222
54v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400216
55v=DMARC1; p=none; pct=100;216
56v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl192
57v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com192
58v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;190
59v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400187
60v=DMARC1;p=none;pct=100;aspf=r;adkim=r;187
61v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com182
62v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s177
63v=DMARC1;p=reject;174
64v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400163
65v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com158
66v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;155
67v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1149
68v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf148
69v=DMARC1; adkim=s; aspf=s; p=quarantine140
70v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com133
71v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.250ok.net; ruf=mailto:dmarc_fr@dmarc.250ok.net; fo=1; pct=100; rf=afrf128
72v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp127
73v=DMARC1;""p=reject;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com124
74v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com124
75v=DMARC1; p=none; fo=1;122
76v=DMARC1; p=reject; rua=mailto:mailauth-reports@qq.com121
77v=DMARC1; p=none; pct=50;120
78v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com119
79v=DMARC1; p=none; fo=1; rua=mailto:dmarc_agg@auth.returnpath.net; ruf=mailto:dmarc_afrf@auth.returnpath.net119
80v=DMARC1; p=none; adkim=r; aspf=r115
81v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:nexstar@rua.agari.com; ruf=mailto:nexstar@ruf.agari.com115
82v=DMARC1;p=none;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com112
83v=DMARC1; p=quarantine; rua=mailto:mailauth-reports@qq.com111
84v=DMARC1; p=none; sp=none; ri=86400109
85v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com107
86v=DMARC1;""p=none;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com105
87v=DMARC1;p=reject;pct=100;rua=mailto:dmarc-groups@hubspot.com;ruf=mailto:dmarc-groups@hubspot.com105
88v=DMARC1;p=reject;pct=100102
89v=DMARC1;p=none;pct=100101
90v=DMARC1; p=reject; sp=reject101
91v=DMARC1; p=none; rua=mailto:dmarc@inbound.flowmailer.net; ruf=mailto:dmarc@inbound.flowmailer.net; fo=1100
92v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100100
93v=DMARC1; p=reject; sp=reject;100
94v=DMARC1; p=quarantine; fo=199
95v=DMARC1; p=reject; pct=100; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com; fo=199
96v=DMARC1; p=quarantine; adkim=s97
97v=DMARC1;p=none;rua=mailto:dmarc@smtpeter.com95
98v=DMARC1; p=quarantine; sp=quarantine95
99v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-yahoo-rua@yahoo-inc.com;95
100v=DMARC1; p=reject; rua=mailto:2ynhg3yt@ag.dmarcian.com94

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
1eforward5.registrar-servers.com10 093
2eforward4.registrar-servers.com10 089
3eforward1.registrar-servers.com10 082
4eforward2.registrar-servers.com10 075
5eforward3.registrar-servers.com10 056
6mailstore1.secureserver.net6 048
7smtp.secureserver.net6 020
8park-mx.above.com5 104
9route3.mx.cloudflare.net4 314
10route1.mx.cloudflare.net4 313
11route2.mx.cloudflare.net4 312
12mx1.hostinger.com2 564
13mx2.hostinger.com2 514
14mail.h-email.net2 257
15mx2-hosting.jellyfish.systems2 152
16mx3-hosting.jellyfish.systems2 146
17mx1-hosting.jellyfish.systems2 141
18mx1-us1.ppe-hosted.com2 013
19mx2-us1.ppe-hosted.com1 996
20mx1.csof.net1 917
21mx2.csof.net1 917
22mx1.privateemail.com1 573
23mx2.privateemail.com1 561
24nan1 421
25mx1.hostinger.in1 415
Show rows 26 – 100
#MX targetDomains
26mx2.hostinger.in1 376
27mx20.antispam.mailspamprotection.com1 278
28mx30.antispam.mailspamprotection.com1 278
29mx10.antispam.mailspamprotection.com1 277
30mx.a.locaweb.com.br1 199
31mx.b.locaweb.com.br1 186
32mx.jk.locaweb.com.br1 186
33isaac.mx.cloudflare.net1 047
34linda.mx.cloudflare.net1 046
35amir.mx.cloudflare.net1 046
36mx.core.locaweb.com.br1 019
37mx20.mailspamprotection.com996
38mx10.mailspamprotection.com994
39mx156.hostedmxserver.com991
40mx30.mailspamprotection.com989
41mx1.mailchannels.net988
42mx2.mailchannels.net985
43mxlb.ispgateway.de846
44us2.mx1.mailhostbox.com832
45us2.mx3.mailhostbox.com832
46us2.mx2.mailhostbox.com830
47mx.spamexperts.com784
48mx20.ukraine.com.ua740
49mx15.ukraine.com.ua737
50fallbackmx.spamexperts.eu733
51lastmx.spamexperts.net724
52localhost720
53smtpin.rzone.de665
54mx.stackmail.com639
55mx01.hornetsecurity.com602
56mx02.hornetsecurity.com602
57mx03.hornetsecurity.com596
58mx04.hornetsecurity.com590
59dmail.kagoya.net581
60mx.securemx.jp566
61mx00.1and1.com562
62mx01.1and1.com562
63za-smtp-inbound-1.mimecast.co.za528
64za-smtp-inbound-2.mimecast.co.za527
65mx01.nicmail.ru517
66mx02.nicmail.ru503
67mx03.nicmail.ru501
68mx-biz.mail.am0.yahoodns.net501
69mail.register.it466
70mx1.qiye.aliyun.com446
71mx2.qiye.aliyun.com440
72mx01.lolipop.jp435
73mx3.qiye.aliyun.com430
74mta-gw.infomaniak.ch430
75mx001.netsol.xion.oxcs.net427
76mx002.netsol.xion.oxcs.net427
77mx.ukraine.com.ua416
78mail.eye-mail.net402
79mx1.forwardemail.net374
80mx2.forwardemail.net374
81mx1.hostinger.com.br372
82mx0.123-reg.co.uk352
83mx1.123-reg.co.uk351
84mx.serviciodecorreo.es333
85mx1-eu1.ppe-hosted.com331
86mx2-eu1.ppe-hosted.com326
87mx2.hostinger.com.br326
88mx1.dreamhost.com320
89mx2.dreamhost.com316
90mailgw.nic.in316
91mx01.1and1.es307
92mx00.1and1.es305
93mx01.1and1.fr294
94mx00.1and1.fr291
95mx-01-us-west-2.prod.hydra.sophos.com278
96mx00.1and1.co.uk277
97mx01.1and1.co.uk275
98kr1-aspmx1.worksmobile.com273
99vlmx21.secure.ne.jp271
100vlmx22.secure.ne.jp271

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
1spf.efwd.registrar-servers.com10 145
2relay.mailchannels.net6 508
3secureserver.net6 346
4zoho.com6 249
5websitewelcome.com5 927
6_spf.mx.cloudflare.net5 581
7_spf.mail.hostinger.com4 203
8us._netblocks.mimecast.com4 088
9mx.ovh.com3 905
10emsd1.com3 471
11emailsrvr.com3 410
12_incspfcheck.mailspike.net3 364
13spf.mail.qq.com3 180
14_spf.mailspamprotection.com2 931
15helpscoutemail.com2 920
16_spf.mlsend.com2 882
17spf.web-hosting.com2 802
18beget.com2 701
19spf.ess.barracudanetworks.com2 368
20spf.sender.xserver.jp2 316
21_netblocks.mimecast.com2 245
22stspg-customer.com2 208
23mxsspf.sendpulse.com2 068
24eu._netblocks.mimecast.com1 990
25spf.emailsignatures365.com1 877
Show rows 26 – 100
#SPF includeDomains
26zcsend.net1 854
27_spf-eu.ionos.com1 730
28spf.messagelabs.com1 643
29transmail.net1 591
30aspmx.googlemail.com1 565
31spf.titan.email1 549
32spf.mxhichina.com1 512
33spf.antispamcloud.com1 497
34_mailcust.gandi.net1 401
35_spf.locaweb.com.br1 396
36spf.163.com1 392
37spf.messagingengine.com1 371
38spf.exclaimer.net1 351
39spf.dynect.net1 331
40musvc.com1 293
41netblocks.dreamhost.com1 206
42_spf.kundenserver.de1 200
43spf.tmes.trendmicro.com1 195
44spf.crsend.com1 186
45mxsmtp.sendpulse.com1 146
46_spf.createsend.com1 127
47spf.smtp2go.com1 119
48_spf.perfora.net1 112
49_spf.timeweb.ru1 029
50authsmtp.com996
51outboundmail.blackbaud.net983
52_spf.mailhostbox.com956
53spf.securedserverspace.com954
54spf2.esputnik.com946
55cmail1.com885
56relay.mailbaby.net865
57_spf.jupiter.salesmanago.pl842
58_spf.ukraine.com.ua833
59spf-bma.mpme.jp820
60bluehost.com811
61ispgateway.de805
62spf.hornetsecurity.com756
63spf.improvmx.com751
64spf.mx.hostinger.com747
65_spf.kmitd.com743
66mailcontrol.com732
67kagoya.net728
68spfa.mailendo.com717
69_spf.hosting.reg.ru694
70spf.mail.intercom.io684
71zoho.in672
72_spf.aruba.it665
73e2ma.net664
74_spf.hostedemail.com639
75spf.ipzmarketing.com628
76infusionmail.com623
77au._netblocks.mimecast.com613
78_spf-us.ionos.com600
79spf.nl2go.com596
80spf.autopilothq.com579
81_auxspf.axspace.com578
82_spf.emaillabs.net.pl572
83spf.securemx.jp572
84spf.webapps.net571
85spf.mindbox.ru563
86spf.afas.online556
87one.zoho.com549
88agenturserver.de548
89turbo-smtp.com548
90spf.stackmail.com545
91spf.mailanyone.net542
92_spf.act-on.net540
93spf.hostmar.com538
94msgfocus.com527
95email-od.com521
96spf.a2hosting.com519
97spf.eu.exclaimer.net516
98_spf.embluemail.com513
99spf.qiye.aliyun.com510
100outlook.com501

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.

Data source: https://openintel.nl/data/forward-dns/top-lists/
Generated automatically from OpenINTEL Tranco snapshot 2023-10-01. Aggregates only — raw OpenINTEL data is deleted after analysis per their data agreement.
Last build: 2026-04-28T14:00:11Z.