Who uses what for email DAILY

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

666 944
Domains with MX
591 587
Domains with SPF
257 945
Domains with DMARC
666 944
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 26 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 / Other191 55928.72%
2Google Workspace134 39420.15%
3Generic / unmatched (mail.*)98 75414.81%
4Microsoft 36591 19813.67%
5Generic / unmatched (mx*.*)61 4809.22%
6Yandex 36014 1302.12%
7Mimecast10 7631.61%
8Generic / unmatched (smtp.*)9 0681.36%
9Zoho Mail6 1070.92%
10QQ Mail (Tencent)5 0560.76%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Amazon WorkMail4 6610.7%
12OVH Mail4 5920.69%
13Mail.ru for Business4 1670.62%
14Cisco IronPort3 3220.5%
15Rackspace Email3 1800.48%
16Beget (RU)2 4360.37%
171&1 IONOS2 2190.33%
18Mailgun (inbound)2 1230.32%
19Gandi Mail1 8070.27%
20Alibaba Mail (China)1 6380.25%
21Hosted Email (Rackspace/IONOS)1 5120.23%
22FastMail1 3810.21%
23Zoho Mail (EU)1 3380.2%
24Titan (Hostinger)1 3350.2%
25Timeweb (RU)1 0520.16%
26NetEase Mail1 0380.16%
27ProtonMail9700.15%
28ImprovMX (forwarding)8230.12%
29CSC (corporate)7390.11%
30Zoho Mail (IN)6500.1%

Trend — last 26 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%
360 861 domains
Unique unmatched MX hosts
223 364
individual hostnames in the long tail
Self-hosted
27.02%
180 227 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 2854.95%
2Mailchimp25 9264.38%
3Mandrill25 2874.27%
4SendGrid (Twilio)24 0944.07%
5Zendesk22 3113.77%
6Mailgun19 5943.31%
7Salesforce12 7072.15%
8Mailjet (Sinch)10 2861.74%
9Brevo (ex-Sendinblue)7 9831.35%
10Marketo (Adobe)4 1240.7%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Elastic Email3 8650.65%
12Unisender (RU)3 0520.52%
13SparkPost2 7570.47%
14Postmark2 5470.43%
15Salesforce Marketing Cloud2 2840.39%
16Constant Contact1 9670.33%
17Freshdesk1 7780.3%
18SMTP.com1 1410.19%
19MailerSend8360.14%
20Sailthru7210.12%
21Customer.io6300.11%
22SMTP.BZ5980.1%
23Eloqua (Oracle)3460.06%
24GetResponse2360.04%
25Intercom140.0%
26HubSpot80.0%
27Dotdigital60.0%
28Klaviyo30.0%
29AWeber20.0%
30MailPoet10.0%

Trend — last 26 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 5741.11%
2Shopify3 7130.63%
3KnowBe42 4520.41%
4Atlassian (Jira/Confluence)1 9980.34%
5Trustpilot1 7550.3%
6Firebase (Google)1 2750.22%
7Qualtrics1 0060.17%
8NetSuite (Oracle)9750.16%
9BigCommerce9320.16%
10ClickDimensions8120.14%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Docebo (LMS)7670.13%
12ConnectWise7470.13%
13PayPal Braintree6700.11%
14Autotask (ConnectWise)6020.1%
15Oracle Cloud Email5720.1%
16Greenhouse5640.1%
17Zendesk5320.09%
18Oracle Cloud5160.09%
19Sage Intacct5000.08%
20Lark / Feishu4290.07%
21HappyFox3340.06%
22UKG / UltiPro3110.05%
23Freshsales (Freshworks)2560.04%
24Shoptet2530.04%
25Chargebee2390.04%
26FormAssembly2050.03%
27Gorgias1910.03%
28Odoo1720.03%
29Squarespace1460.02%
30Recurly1260.02%

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

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

Trend — last 26 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 200
2v=DMARC1; p=none;7 252
3v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864003 884
4v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 132
5v=DMARC1; p=quarantine;2 572
6v=DMARC1; p=quarantine2 385
7v=DMARC1; p=reject;2 203
8v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com2 097
9v=DMARC1; p=reject1 769
10v=DMARC1; p=reject; rua=mailto:dmarc_report@mail.liamfactory.com; ruf=mailto:dmarc_report@mail.liamfactory.com; fo=1; pct=1001 725
11v=DMARC1; p=none; aspf=r; sp=none1 591
12v=DMARC1;p=quarantine;pct=100;fo=11 430
13v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 342
14v=DMARC1; p=quarantine; pct=1001 281
15v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 035
16v=DMARC1; p=quarantine; adkim=s; aspf=s982
17v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;943
18v=DMARC1;p=none898
19v=DMARC1; p=none; sp=none;879
20v=DMARC1; p=none; sp=none865
21v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email831
22v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400792
23v=DMARC1;p=none;764
24v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400679
25v=DMARC1; p=none; pct=100654
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com647
27v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com561
28v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email477
29v=DMARC1; p=reject; pct=100450
30v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;437
31v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com417
32v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400365
33v=DMARC1; p=reject; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com360
34v=DMARC1; p=reject; pct=100;306
35v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;300
36v=DMARC1; p=none; fo=1296
37v=DMARC1;p=quarantine283
38v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com273
39v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400263
40v=DMARC1; p=reject; adkim=s; aspf=s;255
41v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1249
42v=DMARC1;p=reject248
43v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com246
44v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;243
45v=DMARC1241
46v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100240
47v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1239
48v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400233
49v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1230
50v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;229
51v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com228
52v=DMARC1; p=quarantine; pct=100;225
53v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;224
54v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf212
55v=DMARC1; p=none; pct=100;211
56v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s198
57v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com190
58v=DMARC1;p=none;pct=100;aspf=r;adkim=r;185
59v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400185
60v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl176
61v=DMARC1;p=reject;174
62v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com168
63v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400165
64v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com163
65v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;155
66v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1155
67v=DMARC1;""p=reject;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com147
68v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:adobe@rua.agari.com; ruf=mailto:adobe@ruf.agari.com; fo=1147
69v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf143
70v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp141
71v=DMARC1; p=reject; adkim=s; aspf=s139
72v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com139
73v=DMARC1; p=none; fo=1;126
74v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com125
75v=DMARC1; adkim=s; aspf=s; p=quarantine124
76v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.250ok.net; ruf=mailto:dmarc_fr@dmarc.250ok.net; fo=1; pct=100; rf=afrf124
77v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com122
78v=DMARC1;p=none;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com121
79v=DMARC1; p=reject; rua=mailto:2ynhg3yt@ag.dmarcian.com118
80v=DMARC1; p=none; fo=1; rua=mailto:dmarc_agg@auth.returnpath.net; ruf=mailto:dmarc_afrf@auth.returnpath.net116
81v=DMARC1; p=none; pct=50;115
82v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:nexstar@rua.agari.com; ruf=mailto:nexstar@ruf.agari.com115
83v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-yahoo-rua@yahoo-inc.com;114
84v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com112
85v=DMARC1;""p=none;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com110
86v=DMARC1; p=none; adkim=r; aspf=r108
87v=DMARC1; p=none; sp=none; ri=86400105
88v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100105
89v=DMARC1; p=none; rua=mailto:dmarc@inbound.flowmailer.net; ruf=mailto:dmarc@inbound.flowmailer.net; fo=1103
90v=DMARC1; p=quarantine; sp=quarantine103
91v=DMARC1;p=reject;pct=100;rua=mailto:dmarc-groups@hubspot.com;ruf=mailto:dmarc-groups@hubspot.com103
92v=DMARC1; p=quarantine; fo=1; ri=3600; rua=mailto:bcc@rua.dmp.cisco.com; ruf=mailto:bcc@ruf.dmp.cisco.com102
93v=DMARC1;p=none;pct=100102
94v=DMARC1;p=reject;pct=100102
95v=DMARC1; p=quarantine; adkim=s100
96v=DMARC1;p=quarantine;99
97v=DMARC1;p=none;rua=mailto:dmarc@smtpeter.com99
98v=DMARC1; p=reject; sp=reject99
99v=DMARC1; p=reject; sp=reject;97
100v=DMARC1; p=reject; pct=100; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com; fo=197

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 289
2eforward4.registrar-servers.com10 285
3eforward1.registrar-servers.com10 282
4eforward2.registrar-servers.com10 274
5eforward3.registrar-servers.com10 253
6mailstore1.secureserver.net5 947
7smtp.secureserver.net5 924
8park-mx.above.com5 135
9route1.mx.cloudflare.net4 414
10route3.mx.cloudflare.net4 412
11route2.mx.cloudflare.net4 412
12mx1.hostinger.com2 758
13mx2.hostinger.com2 710
14mx2-hosting.jellyfish.systems2 307
15mx3-hosting.jellyfish.systems2 304
16mx1-hosting.jellyfish.systems2 296
17mail.h-email.net2 237
18mx1-us1.ppe-hosted.com1 961
19mx2-us1.ppe-hosted.com1 942
20mx1.csof.net1 909
21mx2.csof.net1 909
22mx1.privateemail.com1 532
23mx2.privateemail.com1 520
24mx1.hostinger.in1 444
25mx2.hostinger.in1 407
Show rows 26 – 100
#MX targetDomains
26nan1 307
27mx20.antispam.mailspamprotection.com1 286
28mx30.antispam.mailspamprotection.com1 285
29mx10.antispam.mailspamprotection.com1 284
30mx.a.locaweb.com.br1 204
31mx.b.locaweb.com.br1 194
32mx.jk.locaweb.com.br1 189
33mx156.hostedmxserver.com1 058
34mx.core.locaweb.com.br1 035
35isaac.mx.cloudflare.net1 033
36linda.mx.cloudflare.net1 032
37amir.mx.cloudflare.net1 031
38mx1.mailchannels.net970
39mx2.mailchannels.net966
40mx20.mailspamprotection.com909
41mx10.mailspamprotection.com907
42mx30.mailspamprotection.com901
43us2.mx1.mailhostbox.com854
44us2.mx3.mailhostbox.com852
45us2.mx2.mailhostbox.com851
46mxlb.ispgateway.de786
47mx.spamexperts.com770
48mx20.ukraine.com.ua739
49mx15.ukraine.com.ua736
50fallbackmx.spamexperts.eu723
51lastmx.spamexperts.net714
52localhost711
53mx.stackmail.com630
54smtpin.rzone.de611
55mx-vip-01.uni5.net597
56mx-vip-02.uni5.net595
57dmail.kagoya.net588
58mx01.hornetsecurity.com588
59mx02.hornetsecurity.com587
60mx03.hornetsecurity.com579
61mx.securemx.jp577
62mx04.hornetsecurity.com573
63mail.eye-mail.net566
64mx00.1and1.com540
65mx01.1and1.com540
66za-smtp-inbound-1.mimecast.co.za526
67za-smtp-inbound-2.mimecast.co.za524
68mx01.nicmail.ru519
69mx02.nicmail.ru506
70mx03.nicmail.ru503
71mail.register.it497
72mx-biz.mail.am0.yahoodns.net486
73mx01.lolipop.jp467
74mx.serviciodecorreo.es460
75mx.ukraine.com.ua447
76mx1.qiye.aliyun.com434
77mx2.qiye.aliyun.com426
78mx3.qiye.aliyun.com419
79mta-gw.infomaniak.ch414
80mx001.netsol.xion.oxcs.net404
81mx002.netsol.xion.oxcs.net404
82mx1.hostinger.com.br365
83mx1.forwardemail.net354
84mx2.forwardemail.net354
85mx1-eu1.ppe-hosted.com330
86mx2-eu1.ppe-hosted.com325
87mx2.hostinger.com.br322
88mx0.123-reg.co.uk319
89mx1.123-reg.co.uk319
90mx01.1and1.es316
91mx00.1and1.es315
92mailgw.nic.in314
93mx1.dreamhost.com309
94mx2.dreamhost.com305
95mailstream-east.mxrecord.io283
96mailstream-west.mxrecord.io281
97mx01.1and1.fr280
98mx00.1and1.fr277
99kr1-aspmx1.worksmobile.com275
100mx-01-us-west-2.prod.hydra.sophos.com275

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 355
2relay.mailchannels.net6 408
3secureserver.net6 309
4zoho.com6 205
5_spf.mx.cloudflare.net5 679
6websitewelcome.com5 659
7_spf.mail.hostinger.com4 504
8us._netblocks.mimecast.com3 990
9mx.ovh.com3 875
10emsd1.com3 460
11_incspfcheck.mailspike.net3 434
12emailsrvr.com3 280
13spf.web-hosting.com2 927
14_spf.mlsend.com2 920
15helpscoutemail.com2 908
16spf.mail.qq.com2 900
17_spf.mailspamprotection.com2 756
18beget.com2 542
19spf.sender.xserver.jp2 496
20spf.ess.barracudanetworks.com2 296
21stspg-customer.com2 209
22_netblocks.mimecast.com2 147
23mxsspf.sendpulse.com2 045
24eu._netblocks.mimecast.com1 968
25zcsend.net1 837
Show rows 26 – 100
#SPF includeDomains
26spf.emailsignatures365.com1 815
27_spf-eu.ionos.com1 741
28spf.messagelabs.com1 593
29aspmx.googlemail.com1 556
30spf.titan.email1 554
31transmail.net1 552
32spf.antispamcloud.com1 505
33spf.mxhichina.com1 439
34_spf.locaweb.com.br1 397
35_mailcust.gandi.net1 380
36spf.messagingengine.com1 348
37musvc.com1 332
38spf.exclaimer.net1 320
39spf.dynect.net1 277
40spf.163.com1 244
41spf.tmes.trendmicro.com1 199
42netblocks.dreamhost.com1 179
43_spf.kundenserver.de1 172
44spf.crsend.com1 145
45mxsmtp.sendpulse.com1 118
46_spf.createsend.com1 115
47spf.smtp2go.com1 104
48_spf.perfora.net1 083
49_spf.timeweb.ru1 015
50outboundmail.blackbaud.net1 003
51authsmtp.com975
52_spf.mailhostbox.com971
53spf2.esputnik.com948
54spf.securedserverspace.com935
55relay.mailbaby.net904
56_spf.ukraine.com.ua871
57spf-bma.mpme.jp864
58cmail1.com862
59_spf.jupiter.salesmanago.pl834
60ispgateway.de773
61_spf.uni5.net771
62bluehost.com769
63_spf.kmitd.com767
64kagoya.net751
65spfa.mailendo.com742
66spf.improvmx.com738
67spf.hornetsecurity.com727
68mailcontrol.com721
69spf.mx.hostinger.com702
70spf.mail.intercom.io679
71_spf.hosting.reg.ru677
72zoho.in674
73_spf.aruba.it666
74spf.ipzmarketing.com652
75e2ma.net637
76_spf.hostedemail.com629
77spf.webapps.net624
78au._netblocks.mimecast.com616
79infusionmail.com607
80turbo-smtp.com600
81_spf-us.ionos.com591
82one.zoho.com591
83spf.securemx.jp582
84_spf.emaillabs.net.pl570
85spf.nl2go.com569
86spf.mindbox.ru564
87_auxspf.axspace.com559
88spf.autopilothq.com557
89spf.afas.online554
90spf.hostmar.com552
91spf.stackmail.com550
92spf.mailanyone.net536
93_spf.act-on.net531
94agenturserver.de520
95msgfocus.com517
96email-od.com514
97_spf.embluemail.com511
98spf.eu.exclaimer.net509
99outlook.com504
100spf.a2hosting.com499

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