Who uses what for email DAILY

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

621 817
Domains with MX
566 602
Domains with SPF
332 010
Domains with DMARC
621 817
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 20 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 / Other171 69227.61%
2Google Workspace128 27020.63%
3Microsoft 36590 59114.57%
4Generic / unmatched (mail.*)89 83414.45%
5Generic / unmatched (mx*.*)56 6419.11%
6Yandex 36013 3602.15%
7Mimecast10 5091.69%
8Generic / unmatched (smtp.*)7 9781.28%
9Zoho Mail5 6710.91%
10Amazon WorkMail4 4470.72%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Mail.ru for Business4 3690.7%
12QQ Mail (Tencent)4 2740.69%
13OVH Mail4 0180.65%
14Cisco IronPort3 2150.52%
15Rackspace Email2 6730.43%
16Beget (RU)2 5140.4%
171&1 IONOS2 4200.39%
18Mailgun (inbound)2 0030.32%
19Gandi Mail1 5130.24%
20Alibaba Mail (China)1 5000.24%
21Hosted Email (Rackspace/IONOS)1 4270.23%
22FastMail1 2740.2%
23Zoho Mail (EU)1 2390.2%
24Timeweb (RU)1 2270.2%
25Titan (Hostinger)1 1700.19%
26CSC (corporate)1 0030.16%
27ProtonMail9800.16%
28NetEase Mail9670.16%
29ImprovMX (forwarding)7250.12%
30Reg.ru6700.11%

Trend — last 20 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
52.45%
326 145 domains
Unique unmatched MX hosts
198 529
individual hostnames in the long tail
Self-hosted
25.43%
158 128 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 SES30 1365.32%
2SendGrid (Twilio)25 8914.57%
3Mailchimp24 1384.26%
4Mandrill23 3444.12%
5Zendesk22 5013.97%
6Mailgun20 8383.68%
7Salesforce13 6362.41%
8Mailjet (Sinch)10 4841.85%
9Brevo (ex-Sendinblue)7 3001.29%
10Marketo (Adobe)3 8480.68%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Elastic Email3 7800.67%
12Unisender (RU)3 2510.57%
13SparkPost2 6400.47%
14Postmark2 4640.43%
15Salesforce Marketing Cloud2 0670.36%
16Constant Contact1 9630.35%
17Freshdesk1 6440.29%
18SMTP.com1 0670.19%
19MailerSend1 0660.19%
20Sailthru6770.12%
21SMTP.BZ6620.12%
22Customer.io5750.1%
23Eloqua (Oracle)3240.06%
24GetResponse2230.04%
25Intercom170.0%
26HubSpot120.0%
27Klaviyo60.0%
28AWeber30.0%
29Dotdigital30.0%
30MailPoet10.0%

Trend — last 20 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 0491.07%
2Shopify3 9140.69%
3KnowBe42 6150.46%
4Atlassian (Jira/Confluence)1 9640.35%
5Trustpilot1 7400.31%
6Firebase (Google)1 2700.22%
7Qualtrics1 0940.19%
8NetSuite (Oracle)9820.17%
9BigCommerce9660.17%
10Docebo (LMS)8530.15%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11ConnectWise7500.13%
12ClickDimensions7200.13%
13Oracle Cloud Email6790.12%
14PayPal Braintree6440.11%
15Autotask (ConnectWise)6380.11%
16Oracle Cloud6280.11%
17Greenhouse6160.11%
18Lark / Feishu6000.11%
19Sage Intacct5930.1%
20WordPress.com / WP Cloud5860.1%
21Zendesk4940.09%
22HappyFox4340.08%
23UKG / UltiPro4010.07%
24FormAssembly3330.06%
25Shoptet2920.05%
26Chargebee2670.05%
27Freshsales (Freshworks)2340.04%
28Gorgias1780.03%
29Odoo1730.03%
30Squarespace1280.02%

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

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

Trend — last 20 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=none28 588
2v=DMARC1; p=none;28 127
3v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 199
4v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864003 138
5v=DMARC1; p=quarantine;3 021
6v=DMARC1;p=none;2 835
7v=DMARC1; p=reject;2 684
8v=DMARC1; p=quarantine2 580
9v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com2 011
10v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 932
11v=DMARC1; p=reject1 838
12v=DMARC1; p=none; aspf=r; sp=none1 672
13v=DMARC1; p=quarantine; pct=1001 482
14v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 452
15v=DMARC1;p=quarantine;pct=100;fo=11 357
16v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 340
17v=DMARC1;p=none1 331
18v=DMARC1; p=quarantine; adkim=s; aspf=s1 314
19v=DMARC1; p=none; adkim=r; aspf=r;1 280
20v=DMARC1; p=reject; rua=mailto:dmarc.reporting@deutschebahn.com; ruf=mailto:dmarc.reporting@deutschebahn.com; fo=11 269
21v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 026
22v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;989
23v=DMARC1; p=none; sp=none;984
24v=DMARC1; p=none; sp=none931
25v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email921
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=reject; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com831
27v=DMARC1; p=none; pct=100771
28v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400602
29v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com577
30v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email561
31v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com545
32v=DMARC1; p=reject; pct=100541
33v=DMARC1; p=reject; rua=mailto:dmarc_report@mail.liamfactory.com; ruf=mailto:dmarc_report@mail.liamfactory.com; fo=1; pct=100418
34v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;410
35v=DMARC1; p=none; pct=100;397
36v=DMARC1; p=reject; pct=100;385
37v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com363
38v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400356
39v=DMARC1;p=quarantine349
40v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;342
41v=DMARC1; p=none; fo=1310
42v=DMARC1; p=none; sp=none; adkim=r; aspf=r301
43v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com288
44v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;287
45v=DMARC1; p=reject; rua=mailto:2ynhg3yt@ag.dmarcian.com286
46v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;284
47v=DMARC1;p=reject277
48v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1274
49v=DMARC1; p=quarantine; pct=100;273
50v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com272
51v=DMARC1265
52v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s263
53v=DMARC1; p=reject; adkim=s; aspf=s;262
54v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1248
55v=DMARC1; p=none; adkim=r; aspf=r246
56v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com245
57v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp237
58v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400236
59v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;223
60v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;220
61v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100215
62v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com214
63v=DMARC1; p=reject; rua=mailto:87ff8b53a45f113@rep.dmarcanalyzer.com; ruf=mailto:87ff8b53a45f113@for.dmarcanalyzer.com;200
64v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com197
65v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com197
66v=DMARC1; p=reject; fo=1; ruf=mailto:dmarc@dbs.com193
67v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400186
68v=DMARC1;p=reject;186
69v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1179
70v=DMARC1;p=none;pct=100176
71v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;175
72v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1172
73v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com169
74v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100168
75v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400168
76v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl161
77v=DMARC1;p=quarantine;159
78v=DMARC1;p=none;pct=100;aspf=r;adkim=r;158
79v=DMARC1; p=none; pct=100; rua=mailto:dmarc@fbl.optin.com;157
80v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com156
81v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;154
82v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400150
83v=DMARC1; p=none; rua=mailto:dmarc-rua@report.securemx.jp149
84v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com149
85v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf147
86v=DMARC1;""p=reject;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com145
87v=DMARC1; p=none; fo=1;139
88v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf133
89v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-yahoo-rua@yahoo-inc.com;130
90v=DMARC1; p=reject; adkim=s; aspf=s130
91v=DMARC1; p=none; pct=100; adkim=r; aspf=r130
92v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:nexstar@rua.agari.com; ruf=mailto:nexstar@ruf.agari.com128
93v=DMARC1;p=quarantine;pct=100126
94v=DMARC1; p=none; pct=50;121
95v=DMARC1; p=reject; pct=100; adkim=s; aspf=s121
96v=DMARC1; p=quarantine; adkim=s; aspf=s;117
97v=DMARC1;p=none;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com116
98v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:abbvie@rua.dmp.cisco.com; ruf=mailto:abbvie@ruf.dmp.cisco.com116
99v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:adobe@rua.agari.com; ruf=mailto:adobe@ruf.agari.com; fo=1115
100v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com114

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
1eforward4.registrar-servers.com9 538
2eforward5.registrar-servers.com9 538
3eforward1.registrar-servers.com9 533
4eforward2.registrar-servers.com9 523
5eforward3.registrar-servers.com9 503
6mailstore1.secureserver.net5 110
7smtp.secureserver.net5 105
8route3.mx.cloudflare.net4 981
9route1.mx.cloudflare.net4 979
10route2.mx.cloudflare.net4 977
11mx156.hostedmxserver.com4 079
12park-mx.above.com3 504
13mx1.hostinger.com2 930
14mx2.hostinger.com2 902
15mail.eye-mail.net2 191
16mx1-us1.ppe-hosted.com2 084
17mx2-us1.ppe-hosted.com2 061
18mx2-hosting.jellyfish.systems1 827
19mx1-hosting.jellyfish.systems1 824
20mx3-hosting.jellyfish.systems1 823
21nan1 672
22mx1.privateemail.com1 468
23mx2.privateemail.com1 454
24mx.a.locaweb.com.br1 083
25mx10.antispam.mailspamprotection.com1 078
Show rows 26 – 100
#MX targetDomains
26mx20.antispam.mailspamprotection.com1 077
27mx30.antispam.mailspamprotection.com1 077
28mx.b.locaweb.com.br1 075
29mx.jk.locaweb.com.br1 069
30mx1.hostinger.in1 005
31localhost998
32mx2.hostinger.in981
33isaac.mx.cloudflare.net964
34linda.mx.cloudflare.net963
35amir.mx.cloudflare.net963
36mx.core.locaweb.com.br949
37mx1.mailchannels.net802
38mx2.mailchannels.net800
39us2.mx3.mailhostbox.com771
40us2.mx1.mailhostbox.com770
41us2.mx2.mailhostbox.com769
42mx20.ukraine.com.ua692
43mx15.ukraine.com.ua688
44mx.spamexperts.com675
45mxlb.ispgateway.de671
46mx01.hornetsecurity.com650
47mx02.hornetsecurity.com649
48dmail.kagoya.net637
49mx03.hornetsecurity.com637
50mx04.hornetsecurity.com630
51fallbackmx.spamexperts.eu629
52mx20.mailspamprotection.com618
53mx10.mailspamprotection.com617
54lastmx.spamexperts.net616
55mx30.mailspamprotection.com613
56mx.securemx.jp577
57mx.ukraine.com.ua544
58mx1.csof.net523
59mx2.csof.net523
60mx01.nicmail.ru520
61mx02.nicmail.ru511
62mx03.nicmail.ru505
63smtpin.rzone.de503
64za-smtp-inbound-1.mimecast.co.za492
65za-smtp-inbound-2.mimecast.co.za489
66mail.register.it446
67mail.h-email.net445
68mx.stackmail.com442
69mx1.qiye.aliyun.com427
70mx2.qiye.aliyun.com418
71mx3.qiye.aliyun.com415
72mta-gw.infomaniak.ch402
73mx1.forwardemail.net388
74mx2.forwardemail.net387
75mx-biz.mail.am0.yahoodns.net325
76mx01.lolipop.jp323
77mx002.netsol.xion.oxcs.net321
78mx001.netsol.xion.oxcs.net319
79mx1.hostinger.com.br318
80mx1-eu1.ppe-hosted.com318
81mx2-eu1.ppe-hosted.com315
82mx1.feishu.cn313
83mx2.feishu.cn311
84mx3.feishu.cn310
85mailgw.nic.in309
86mailstream-east.mxrecord.io306
87mailstream-west.mxrecord.io306
88mx.serviciodecorreo.es293
89mx2.hostinger.com.br288
90mx01.cloud.vadesecure.com263
91mx02.cloud.vadesecure.com262
92mx03.cloud.vadesecure.com261
93mx04.cloud.vadesecure.com261
94kr1-aspmx1.worksmobile.com257
95mx-01-us-west-2.prod.hydra.sophos.com253
96mx-02-us-west-2.prod.hydra.sophos.com247
97vlmx21.secure.ne.jp246
98vlmx22.secure.ne.jp246
99mailstream-central.mxrecord.mx246
100kr1-aspmx2.worksmobile.com245

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.com9 643
2_spf.mx.cloudflare.net6 262
3secureserver.net6 098
4zoho.com5 770
5relay.mailchannels.net5 359
6_spf.mail.hostinger.com4 442
7mx.ovh.com4 104
8_spf.mlsend.com3 872
9us._netblocks.mimecast.com3 863
10websitewelcome.com3 752
11emsd1.com3 488
12emailsrvr.com2 870
13helpscoutemail.com2 749
14beget.com2 705
15spf.mail.qq.com2 546
16spf.web-hosting.com2 323
17mxsspf.sendpulse.com2 210
18stspg-customer.com2 201
19spf.ess.barracudanetworks.com2 082
20_spf.createsend.com2 052
21_netblocks.mimecast.com1 932
22zcsend.net1 918
23eu._netblocks.mimecast.com1 873
24spf.sender.xserver.jp1 864
25_spf-eu.ionos.com1 761
Show rows 26 – 100
#SPF includeDomains
26spf.emailsignatures365.com1 665
27transmail.net1 533
28_spf.rdstation.com.br1 433
29musvc.com1 385
30spf.messagelabs.com1 377
31aspmx.googlemail.com1 335
32spf.titan.email1 316
33spf.mxhichina.com1 294
34spf.exclaimer.net1 269
35spf.messagingengine.com1 265
36_spf.locaweb.com.br1 239
37_mailcust.gandi.net1 234
38spf.tmes.trendmicro.com1 228
39_spf.timeweb.ru1 226
40spf.antispamcloud.com1 219
41spf.crsend.com1 200
42spf.163.com1 094
43spf.dynect.net1 066
44_incspfcheck.mailspike.net1 060
45mxsmtp.sendpulse.com1 026
46spf.smtp2go.com1 019
47_spf.kundenserver.de984
48_spf.ukraine.com.ua966
49_spf.jupiter.salesmanago.pl960
50spf2.esputnik.com957
51netblocks.dreamhost.com950
52authsmtp.com919
53_spf.mailspamprotection.com907
54_spf.perfora.net899
55outboundmail.blackbaud.net895
56_spf.aruba.it894
57spf.securedserverspace.com876
58_spf.mailhostbox.com838
59spf-bma.mpme.jp834
60kagoya.net797
61relay.mailbaby.net786
62_spf.hosting.reg.ru772
63spf.hornetsecurity.com764
64ispgateway.de740
65cmail1.com737
66spfa.mailendo.com726
67one.zoho.com699
68_spf.kmitd.com695
69mailcontrol.com684
70spf.improvmx.com666
71_spf.emaillabs.net.pl657
72_spf.hostedemail.com656
73turbo-smtp.com652
74spf.ipzmarketing.com648
75zoho.in642
76spf.mindbox.ru614
77au._netblocks.mimecast.com613
78spf.mail.intercom.io606
79spf.eu.exclaimer.net591
80spf.securemx.jp590
81e2ma.net576
82spf.afas.online564
83spf.brevo.com562
84spf.webapps.net555
85spf.nl2go.com540
86bluehost.com539
87spf.mailanyone.net533
88spf.qiye.aliyun.com529
89infusionmail.com528
90agenturserver.de525
91_spf.embluemail.com525
92spf.bmv.jp515
93_spf.dashasender.ru512
94spf.autopilothq.com511
95email-od.com510
96spf.haihaimail.jp508
97_netblocks.google.com504
98spf.hostmar.com504
99spfgw.fsi.ne.jp503
100spf.flowmailer.net502

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