Who uses what for email DAILY

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

660 455
Domains with MX
588 456
Domains with SPF
263 939
Domains with DMARC
660 455
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 25 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 / Other188 47328.54%
2Google Workspace133 84420.27%
3Generic / unmatched (mail.*)96 55314.62%
4Microsoft 36592 09913.94%
5Generic / unmatched (mx*.*)60 2009.11%
6Yandex 36014 2702.16%
7Mimecast10 8051.64%
8Generic / unmatched (smtp.*)8 8131.33%
9Zoho Mail6 0040.91%
10QQ Mail (Tencent)4 8470.73%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Amazon WorkMail4 5290.69%
12Mail.ru for Business4 3910.66%
13OVH Mail4 3160.65%
14Cisco IronPort3 3080.5%
15Rackspace Email3 1340.47%
16Beget (RU)2 5550.39%
171&1 IONOS2 1380.32%
18Mailgun (inbound)2 1150.32%
19Gandi Mail1 7200.26%
20Alibaba Mail (China)1 6170.24%
21Hosted Email (Rackspace/IONOS)1 5080.23%
22FastMail1 3980.21%
23Zoho Mail (EU)1 3090.2%
24Titan (Hostinger)1 3030.2%
25CSC (corporate)1 1280.17%
26Timeweb (RU)1 1180.17%
27NetEase Mail1 0140.15%
28ProtonMail9880.15%
29ImprovMX (forwarding)8350.13%
30Reg.ru6190.09%

Trend — last 25 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
53.61%
354 039 domains
Unique unmatched MX hosts
219 306
individual hostnames in the long tail
Self-hosted
26.72%
176 493 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 5715.03%
2Mailchimp25 9924.42%
3Mandrill25 2374.29%
4SendGrid (Twilio)24 2764.13%
5Zendesk22 4763.82%
6Mailgun19 7373.35%
7Salesforce12 9212.2%
8Mailjet (Sinch)10 3781.76%
9Brevo (ex-Sendinblue)7 8791.34%
10Marketo (Adobe)4 0930.7%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Elastic Email3 8400.65%
12Unisender (RU)3 2270.55%
13SparkPost2 7200.46%
14Postmark2 5670.44%
15Salesforce Marketing Cloud2 1820.37%
16Constant Contact1 9930.34%
17Freshdesk1 7880.3%
18SMTP.com1 1230.19%
19MailerSend8720.15%
20Sailthru7140.12%
21Customer.io6260.11%
22SMTP.BZ6200.11%
23Eloqua (Oracle)3480.06%
24GetResponse2320.04%
25Intercom160.0%
26HubSpot90.0%
27Dotdigital60.0%
28Klaviyo40.0%
29AWeber20.0%
30MailPoet10.0%

Trend — last 25 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 4961.1%
2Shopify3 8130.65%
3KnowBe42 4850.42%
4Atlassian (Jira/Confluence)2 0510.35%
5Trustpilot1 7770.3%
6Firebase (Google)1 2610.21%
7Qualtrics1 0240.17%
8NetSuite (Oracle)9810.17%
9BigCommerce9740.17%
10ClickDimensions8150.14%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Docebo (LMS)7890.13%
12ConnectWise7530.13%
13PayPal Braintree6710.11%
14Autotask (ConnectWise)6320.11%
15Oracle Cloud Email5960.1%
16Greenhouse5540.09%
17Oracle Cloud5440.09%
18Zendesk5300.09%
19Sage Intacct5180.09%
20Lark / Feishu4590.08%
21HappyFox3410.06%
22UKG / UltiPro3140.05%
23Freshsales (Freshworks)2560.04%
24Chargebee2450.04%
25Shoptet2370.04%
26FormAssembly2070.04%
27Gorgias1920.03%
28Odoo1820.03%
29Squarespace1480.03%
30Recurly1250.02%

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

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

Trend — last 25 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 189
2v=DMARC1; p=none;7 284
3v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864003 798
4v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 544
5v=DMARC1; p=quarantine;2 635
6v=DMARC1; p=quarantine2 451
7v=DMARC1; p=reject;2 177
8v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com2 083
9v=DMARC1; p=reject1 746
10v=DMARC1; p=none; aspf=r; sp=none1 626
11v=DMARC1; p=reject; rua=mailto:dmarc_report@mail.liamfactory.com; ruf=mailto:dmarc_report@mail.liamfactory.com; fo=1; pct=1001 476
12v=DMARC1;p=quarantine;pct=100;fo=11 423
13v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 347
14v=DMARC1; p=quarantine; pct=1001 317
15v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 057
16v=DMARC1; p=quarantine; adkim=s; aspf=s1 007
17v=DMARC1; p=reject; pct=100; fo=1; adkim=r; aspf=r; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com987
18v=DMARC1;p=none952
19v=DMARC1; p=none; sp=none;938
20v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;932
21v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email848
22v=DMARC1; p=none; sp=none821
23v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400786
24v=DMARC1;p=none;777
25v=DMARC1; p=none; pct=100675
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400664
27v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com626
28v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com558
29v=DMARC1; p=reject; pct=100; sp=reject; fo=1; aspf=s; adkim=s; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com540
30v=DMARC1; p=reject; pct=100470
31v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email457
32v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;419
33v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com400
34v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com399
35v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400367
36v=DMARC1; p=reject; fo=1; rua=mailto:santander@rua.agari.com; ruf=mailto:santander@ruf.agari.com333
37v=DMARC1; p=reject; pct=100;294
38v=DMARC1; p=none; fo=1292
39v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;292
40v=DMARC1;p=reject291
41v=DMARC1;p=quarantine278
42v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com277
43v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400269
44v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1255
45v=DMARC1; p=reject; adkim=s; aspf=s;248
46v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com248
47v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1244
48v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;243
49v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1235
50v=DMARC1; p=quarantine; pct=100;231
51v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100230
52v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;229
53v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com228
54v=DMARC1223
55v=DMARC1; p=none; pct=100;222
56v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400206
57v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf195
58v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s193
59v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;183
60v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com179
61v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400178
62v=DMARC1;p=reject;174
63v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:xlcat@rua.agari.com; ruf=mailto:xlcat@ruf.agari.com173
64v=DMARC1;p=none;pct=100;aspf=r;adkim=r;171
65v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com169
66v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400161
67v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl161
68v=DMARC1; p=reject; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com160
69v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp159
70v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com158
71v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;157
72v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1149
73v=DMARC1; p=reject; adkim=s; aspf=s140
74v=DMARC1;""p=reject;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com140
75v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:adobe@rua.agari.com; ruf=mailto:adobe@ruf.agari.com; fo=1135
76v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf132
77v=DMARC1; p=none; fo=1;127
78v=DMARC1; p=reject; rua=mailto:2ynhg3yt@ag.dmarcian.com127
79v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com122
80v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100121
81v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.250ok.net; ruf=mailto:dmarc_fr@dmarc.250ok.net; fo=1; pct=100; rf=afrf121
82v=DMARC1;p=none;pct=100117
83v=DMARC1; adkim=s; aspf=s; p=quarantine117
84v=DMARC1; p=none; fo=1; rua=mailto:dmarc_agg@auth.returnpath.net; ruf=mailto:dmarc_afrf@auth.returnpath.net115
85v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:nexstar@rua.agari.com; ruf=mailto:nexstar@ruf.agari.com115
86v=DMARC1;p=quarantine;112
87v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com112
88v=DMARC1; p=none; pct=50;111
89v=DMARC1; p=none; adkim=r; aspf=r109
90v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com109
91v=DMARC1; p=quarantine; adkim=s108
92v=DMARC1;p=none;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com108
93v=DMARC1; p=reject; sp=reject;105
94v=DMARC1; p=quarantine; sp=quarantine104
95v=DMARC1; p=none; rua=mailto:dmarc@inbound.flowmailer.net; ruf=mailto:dmarc@inbound.flowmailer.net; fo=1104
96v=DMARC1;p=reject;pct=100;rua=mailto:dmarc-groups@hubspot.com;ruf=mailto:dmarc-groups@hubspot.com104
97v=DMARC1; p=quarantine; pct=25; fo=1; adkim=r; aspf=r; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com103
98v=DMARC1; p=none; sp=none; ri=86400103
99v=DMARC1; p=reject; pct=100; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com; fo=1100
100v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-yahoo-rua@yahoo-inc.com;99

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 082
2eforward4.registrar-servers.com10 074
3eforward1.registrar-servers.com10 070
4eforward2.registrar-servers.com10 067
5eforward3.registrar-servers.com10 035
6mailstore1.secureserver.net5 717
7smtp.secureserver.net5 691
8park-mx.above.com5 025
9route1.mx.cloudflare.net4 487
10route3.mx.cloudflare.net4 485
11route2.mx.cloudflare.net4 485
12mx1.hostinger.com2 490
13mx2.hostinger.com2 451
14mx1-us1.ppe-hosted.com2 053
15mx2-us1.ppe-hosted.com2 035
16mx2-hosting.jellyfish.systems1 900
17mx3-hosting.jellyfish.systems1 896
18mx1-hosting.jellyfish.systems1 890
19mx1.csof.net1 661
20mx2.csof.net1 661
21mx1.privateemail.com1 502
22mx2.privateemail.com1 491
23nan1 355
24mx20.antispam.mailspamprotection.com1 215
25mx30.antispam.mailspamprotection.com1 214
Show rows 26 – 100
#MX targetDomains
26mx10.antispam.mailspamprotection.com1 213
27mx.a.locaweb.com.br1 169
28mx1.hostinger.in1 163
29mx.b.locaweb.com.br1 158
30mx.jk.locaweb.com.br1 154
31mx2.hostinger.in1 131
32mx156.hostedmxserver.com1 077
33isaac.mx.cloudflare.net1 030
34linda.mx.cloudflare.net1 029
35amir.mx.cloudflare.net1 029
36mx.core.locaweb.com.br1 005
37mx1.mailchannels.net949
38mx2.mailchannels.net947
39mx20.mailspamprotection.com850
40mx10.mailspamprotection.com849
41mx30.mailspamprotection.com841
42us2.mx1.mailhostbox.com816
43us2.mx2.mailhostbox.com814
44us2.mx3.mailhostbox.com814
45mail.eye-mail.net806
46mxlb.ispgateway.de760
47mx.spamexperts.com756
48mx20.ukraine.com.ua711
49mx15.ukraine.com.ua708
50fallbackmx.spamexperts.eu706
51lastmx.spamexperts.net696
52mail.h-email.net682
53localhost662
54mx01.hornetsecurity.com621
55mx02.hornetsecurity.com620
56smtpin.rzone.de619
57mx03.hornetsecurity.com612
58mx04.hornetsecurity.com606
59mx.stackmail.com592
60dmail.kagoya.net571
61mx.securemx.jp554
62mx01.nicmail.ru552
63mx02.nicmail.ru540
64za-smtp-inbound-1.mimecast.co.za534
65za-smtp-inbound-2.mimecast.co.za532
66mx03.nicmail.ru531
67mx00.1and1.com514
68mx01.1and1.com514
69mail.register.it478
70mx01.lolipop.jp470
71mx-biz.mail.am0.yahoodns.net463
72mx.ukraine.com.ua458
73mx1.qiye.aliyun.com425
74mx2.qiye.aliyun.com417
75mx3.qiye.aliyun.com410
76mta-gw.infomaniak.ch398
77mx001.netsol.xion.oxcs.net394
78mx002.netsol.xion.oxcs.net394
79relay2.netnames.net393
80relay1.netnames.net390
81sagw.fsi.ne.jp381
82mx.serviciodecorreo.es362
83mx1.forwardemail.net353
84mx2.forwardemail.net352
85mx1.hostinger.com.br338
86mx1-eu1.ppe-hosted.com336
87mx0.123-reg.co.uk332
88mx1.123-reg.co.uk332
89mx2-eu1.ppe-hosted.com332
90mx01.udag.de318
91mx00.udag.de317
92mailgw.nic.in305
93mx.aams4.jp302
94mx1.dreamhost.com299
95mx-0.aams4.jp298
96mx-1.aams4.jp298
97mx2.hostinger.com.br297
98mx2.dreamhost.com295
99mx01.1and1.es294
100mx00.1and1.es293

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 109
2secureserver.net6 174
3zoho.com6 147
4relay.mailchannels.net6 125
5_spf.mx.cloudflare.net5 759
6websitewelcome.com5 357
7mx.ovh.com4 253
8_spf.mail.hostinger.com3 994
9us._netblocks.mimecast.com3 975
10emsd1.com3 495
11emailsrvr.com3 245
12_incspfcheck.mailspike.net3 071
13helpscoutemail.com2 949
14_spf.mlsend.com2 934
15spf.mail.qq.com2 813
16beget.com2 695
17spf.web-hosting.com2 478
18spf.ess.barracudanetworks.com2 277
19stspg-customer.com2 226
20spf.sender.xserver.jp2 144
21mxsspf.sendpulse.com2 132
22_netblocks.mimecast.com2 127
23eu._netblocks.mimecast.com2 047
24zcsend.net1 870
25spf.emailsignatures365.com1 822
Show rows 26 – 100
#SPF includeDomains
26_spf-eu.ionos.com1 692
27_spf.mailspamprotection.com1 622
28spf.messagelabs.com1 593
29transmail.net1 565
30aspmx.googlemail.com1 523
31spf.titan.email1 492
32spf.mxhichina.com1 416
33spf.messagingengine.com1 364
34_spf.locaweb.com.br1 357
35spf.antispamcloud.com1 345
36musvc.com1 344
37spf.exclaimer.net1 342
38_mailcust.gandi.net1 334
39spf.dynect.net1 251
40spf.tmes.trendmicro.com1 237
41spf.crsend.com1 190
42spf.163.com1 162
43_spf.kundenserver.de1 152
44netblocks.dreamhost.com1 137
45mxsmtp.sendpulse.com1 131
46_spf.createsend.com1 119
47_spf.timeweb.ru1 099
48spf.smtp2go.com1 094
49_spf.perfora.net1 062
50outboundmail.blackbaud.net1 008
51authsmtp.com983
52spf2.esputnik.com948
53spf.securedserverspace.com931
54_spf.mailhostbox.com928
55_spf.ukraine.com.ua863
56cmail1.com849
57relay.mailbaby.net839
58spf-bma.mpme.jp834
59_spf.jupiter.salesmanago.pl830
60ispgateway.de780
61spf.hornetsecurity.com763
62_spf.kmitd.com748
63spf.improvmx.com744
64bluehost.com744
65spfa.mailendo.com732
66mailcontrol.com728
67kagoya.net718
68_spf.hosting.reg.ru709
69spfgw.fsi.ne.jp669
70spf.mail.intercom.io669
71e2ma.net641
72spf.ipzmarketing.com633
73zoho.in629
74_spf.aruba.it624
75_spf.hostedemail.com623
76one.zoho.com621
77au._netblocks.mimecast.com615
78infusionmail.com609
79spf.mx.hostinger.com594
80spf.webapps.net590
81turbo-smtp.com589
82spf.makeshop.jp589
83_spf.emaillabs.net.pl585
84spf.mindbox.ru585
85spf.nl2go.com574
86_spf-us.ionos.com574
87spf.securemx.jp571
88spf.afas.online564
89spf.autopilothq.com561
90_auxspf.axspace.com547
91spf.hostmar.com541
92spf.mailanyone.net540
93spf.eu.exclaimer.net538
94_spf.act-on.net533
95outlook.com529
96spf.stackmail.com521
97agenturserver.de517
98msgfocus.com509
99email-od.com509
100_spf.embluemail.com502

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-12-01. Aggregates only — raw OpenINTEL data is deleted after analysis per their data agreement.
Last build: 2026-04-28T13:50:28Z.