Who uses what for email DAILY

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

657 371
Domains with MX
586 519
Domains with SPF
264 985
Domains with DMARC
657 371
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 24 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 / Other187 57228.53%
2Google Workspace133 30820.28%
3Generic / unmatched (mail.*)96 16314.63%
4Microsoft 36591 93913.99%
5Generic / unmatched (mx*.*)60 1499.15%
6Yandex 36014 1232.15%
7Mimecast10 7021.63%
8Generic / unmatched (smtp.*)8 6521.32%
9Zoho Mail6 0050.91%
10QQ Mail (Tencent)4 7350.72%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Amazon WorkMail4 4690.68%
12Mail.ru for Business4 4250.67%
13OVH Mail4 3040.65%
14Cisco IronPort3 2200.49%
15Rackspace Email3 0420.46%
16Beget (RU)2 5430.39%
171&1 IONOS2 4230.37%
18Mailgun (inbound)2 0660.31%
19Gandi Mail1 7030.26%
20Hosted Email (Rackspace/IONOS)1 6710.25%
21Alibaba Mail (China)1 5960.24%
22FastMail1 3810.21%
23Titan (Hostinger)1 3290.2%
24Zoho Mail (EU)1 2510.19%
25Timeweb (RU)1 1780.18%
26NetEase Mail1 0290.16%
27ProtonMail9770.15%
28ImprovMX (forwarding)7990.12%
29Reg.ru6720.1%
30Zoho Mail (IN)5900.09%

Trend — last 24 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.63%
352 536 domains
Unique unmatched MX hosts
218 033
individual hostnames in the long tail
Self-hosted
26.67%
175 334 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 5245.03%
2Mailchimp25 6764.38%
3Mandrill25 0134.26%
4SendGrid (Twilio)24 3094.14%
5Zendesk22 7443.88%
6Mailgun20 0173.41%
7Salesforce13 0322.22%
8Mailjet (Sinch)10 3731.77%
9Brevo (ex-Sendinblue)7 8661.34%
10Marketo (Adobe)4 0410.69%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Elastic Email3 8680.66%
12Unisender (RU)3 2640.56%
13SparkPost2 7320.47%
14Postmark2 5080.43%
15Salesforce Marketing Cloud2 1430.37%
16Constant Contact1 9700.34%
17Freshdesk1 7730.3%
18SMTP.com1 1230.19%
19MailerSend9250.16%
20Sailthru7130.12%
21SMTP.BZ6490.11%
22Customer.io6030.1%
23Eloqua (Oracle)3330.06%
24GetResponse2330.04%
25Intercom150.0%
26HubSpot80.0%
27Dotdigital60.0%
28Klaviyo40.0%
29AWeber20.0%
30MailPoet10.0%

Trend — last 24 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 4511.1%
2Shopify4 0930.7%
3KnowBe42 4720.42%
4Atlassian (Jira/Confluence)2 0020.34%
5Trustpilot1 8210.31%
6Firebase (Google)1 2590.21%
7BigCommerce1 0710.18%
8Qualtrics1 0230.17%
9NetSuite (Oracle)9770.17%
10ClickDimensions8030.14%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Docebo (LMS)7880.13%
12ConnectWise7550.13%
13PayPal Braintree6710.11%
14Autotask (ConnectWise)6310.11%
15Oracle Cloud Email6040.1%
16Oracle Cloud5560.09%
17Greenhouse5560.09%
18Zendesk5370.09%
19Sage Intacct5250.09%
20Lark / Feishu4940.08%
21HappyFox3420.06%
22UKG / UltiPro3230.06%
23Shoptet2910.05%
24Chargebee2530.04%
25Freshsales (Freshworks)2460.04%
26Gorgias2040.03%
27FormAssembly2000.03%
28Odoo1850.03%
29Squarespace1370.02%
30Recurly1240.02%

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

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

Trend — last 24 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 732
2v=DMARC1; p=none;7 977
3v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864003 771
4v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 237
5v=DMARC1; p=quarantine;2 690
6v=DMARC1; p=quarantine2 455
7v=DMARC1; p=reject;2 193
8v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com2 131
9v=DMARC1; p=reject1 761
10v=DMARC1; p=none; aspf=r; sp=none1 664
11v=DMARC1; p=reject; rua=mailto:dmarc_report@mail.liamfactory.com; ruf=mailto:dmarc_report@mail.liamfactory.com; fo=1; pct=1001 430
12v=DMARC1;p=quarantine;pct=100;fo=11 416
13v=DMARC1; p=quarantine; pct=1001 347
14v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 338
15v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 181
16v=DMARC1; p=quarantine; adkim=s; aspf=s1 176
17v=DMARC1; p=none; sp=none;1 095
18v=DMARC1;p=none949
19v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email873
20v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400850
21v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;846
22v=DMARC1; p=none; sp=none844
23v=DMARC1;p=none;798
24v=DMARC1; p=none; pct=100693
25v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400673
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com619
27v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com577
28v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email480
29v=DMARC1; p=reject; pct=100475
30v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;422
31v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com398
32v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400373
33v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com306
34v=DMARC1; p=none; fo=1305
35v=DMARC1; p=reject; pct=100;296
36v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com291
37v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;290
38v=DMARC1; p=reject; rua=mailto:dmarc.reporting@deutschebahn.com; ruf=mailto:dmarc.reporting@deutschebahn.com; fo=1279
39v=DMARC1;p=quarantine273
40v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400263
41v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1259
42v=DMARC1; p=none; pct=100;250
43v=DMARC1;p=reject249
44v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1249
45v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;248
46v=DMARC1; p=reject; adkim=s; aspf=s;244
47v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com241
48v=DMARC1; p=quarantine; pct=100;239
49v=DMARC1229
50v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100228
51v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;227
52v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com226
53v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400224
54v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1220
55v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com201
56v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s196
57v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com192
58v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com187
59v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400184
60v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;181
61v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp179
62v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl174
63v=DMARC1;p=reject;172
64v=DMARC1;p=none;pct=100;aspf=r;adkim=r;172
65v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf170
66v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;158
67v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com157
68v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400157
69v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1156
70v=DMARC1;""p=reject;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com155
71v=DMARC1; p=reject; adkim=s; aspf=s139
72v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf138
73v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com129
74v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100128
75v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-yahoo-rua@yahoo-inc.com;128
76v=DMARC1; adkim=s; aspf=s; p=quarantine124
77v=DMARC1; p=reject; rua=mailto:2ynhg3yt@ag.dmarcian.com124
78v=DMARC1; p=none; fo=1;120
79v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:adobe@rua.agari.com; ruf=mailto:adobe@ruf.agari.com; fo=1118
80v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.250ok.net; ruf=mailto:dmarc_fr@dmarc.250ok.net; fo=1; pct=100; rf=afrf117
81v=DMARC1; p=none; adkim=r; aspf=r116
82v=DMARC1;p=none;pct=100116
83v=DMARC1;p=quarantine;115
84v=DMARC1; p=none; pct=50;115
85v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;114
86v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com113
87v=DMARC1; p=none; fo=1; rua=mailto:dmarc_agg@auth.returnpath.net; ruf=mailto:dmarc_afrf@auth.returnpath.net112
88v=DMARC1; p=none; rua=mailto:dmarc-rua@report.securemx.jp111
89v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:nexstar@rua.agari.com; ruf=mailto:nexstar@ruf.agari.com111
90v=DMARC1;p=none;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com106
91v=DMARC1; p=reject; sp=reject;104
92v=DMARC1; p=none; rua=mailto:dmarc-rua@mailkit.com;104
93v=DMARC1; p=none; rua=mailto:dmarc@inbound.flowmailer.net; ruf=mailto:dmarc@inbound.flowmailer.net; fo=1103
94v=DMARC1;p=reject;pct=100103
95v=DMARC1; p=quarantine; sp=quarantine103
96v=DMARC1;""p=none;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com103
97v=DMARC1; p=none; sp=none; ri=86400103
98v=DMARC1;p=reject;pct=100;rua=mailto:dmarc-groups@hubspot.com;ruf=mailto:dmarc-groups@hubspot.com102
99v=DMARC1; p=quarantine; adkim=s100
100v=DMARC1; p=quarantine; fo=1100

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.com9 653
2eforward1.registrar-servers.com9 643
3eforward4.registrar-servers.com9 642
4eforward2.registrar-servers.com9 634
5eforward3.registrar-servers.com9 608
6mailstore1.secureserver.net5 559
7smtp.secureserver.net5 539
8route1.mx.cloudflare.net4 562
9route3.mx.cloudflare.net4 561
10route2.mx.cloudflare.net4 560
11park-mx.above.com4 544
12mx1.hostinger.com2 471
13mx2.hostinger.com2 436
14mx1-us1.ppe-hosted.com2 107
15mx2-us1.ppe-hosted.com2 088
16mx2-hosting.jellyfish.systems1 867
17mx3-hosting.jellyfish.systems1 863
18mx1-hosting.jellyfish.systems1 860
19mx1.csof.net1 603
20mx2.csof.net1 603
21mx1.privateemail.com1 482
22mx2.privateemail.com1 472
23nan1 443
24mx156.hostedmxserver.com1 300
25mx20.antispam.mailspamprotection.com1 179
Show rows 26 – 100
#MX targetDomains
26mx30.antispam.mailspamprotection.com1 178
27mx10.antispam.mailspamprotection.com1 177
28mx.a.locaweb.com.br1 150
29mx.b.locaweb.com.br1 144
30mx.jk.locaweb.com.br1 137
31mail.eye-mail.net1 058
32isaac.mx.cloudflare.net998
33linda.mx.cloudflare.net997
34mx.core.locaweb.com.br996
35amir.mx.cloudflare.net996
36mx1.hostinger.in979
37mx2.hostinger.in952
38localhost925
39mx1.mailchannels.net914
40mx2.mailchannels.net908
41us2.mx1.mailhostbox.com820
42us2.mx2.mailhostbox.com818
43us2.mx3.mailhostbox.com818
44dmail.kagoya.net798
45mx20.mailspamprotection.com792
46mx10.mailspamprotection.com789
47mx30.mailspamprotection.com784
48mx.spamexperts.com751
49mxlb.ispgateway.de735
50mx20.ukraine.com.ua731
51mx15.ukraine.com.ua729
52fallbackmx.spamexperts.eu701
53lastmx.spamexperts.net691
54mx.aams4.jp679
55mx-0.aams4.jp675
56mx-1.aams4.jp675
57mx.stackmail.com637
58mx01.hornetsecurity.com627
59mx02.hornetsecurity.com625
60mx03.hornetsecurity.com619
61mx04.hornetsecurity.com613
62mx.securemx.jp603
63smtpin.rzone.de597
64sagw.fsi.ne.jp577
65mx01.nicmail.ru568
66mx01.lolipop.jp568
67mail.h-email.net564
68mx02.nicmail.ru555
69mx03.nicmail.ru548
70za-smtp-inbound-1.mimecast.co.za511
71za-smtp-inbound-2.mimecast.co.za510
72mx.ukraine.com.ua508
73mail.register.it473
74mx-biz.mail.am0.yahoodns.net449
75mx1.qiye.aliyun.com421
76mx2.qiye.aliyun.com413
77mx3.qiye.aliyun.com408
78mta-gw.infomaniak.ch407
79mx00.1and1.com398
80mx01.1and1.com397
81mx001.netsol.xion.oxcs.net382
82mx002.netsol.xion.oxcs.net382
83mx1.forwardemail.net339
84mx2.forwardemail.net338
85mx1.123-reg.co.uk325
86mx0.123-reg.co.uk324
87mx1.hostinger.com.br322
88mx1-eu1.ppe-hosted.com316
89mx2-eu1.ppe-hosted.com315
90mail4.makeshop.jp311
91vlmx21.secure.ne.jp307
92vlmx22.secure.ne.jp307
93vlmx20.secure.ne.jp306
94mx.serviciodecorreo.es303
95mailgw.nic.in297
96mx2.hostinger.com.br281
97kr1-aspmx1.worksmobile.com279
98mailstream-east.mxrecord.io275
99mx1.dreamhost.com274
100mx-01-us-west-2.prod.hydra.sophos.com274

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 669
2secureserver.net6 212
3zoho.com6 157
4relay.mailchannels.net5 999
5_spf.mx.cloudflare.net5 811
6websitewelcome.com5 166
7mx.ovh.com4 325
8us._netblocks.mimecast.com3 956
9_spf.mail.hostinger.com3 830
10emsd1.com3 510
11emailsrvr.com3 200
12_spf.mlsend.com2 990
13_incspfcheck.mailspike.net2 973
14helpscoutemail.com2 920
15spf.mail.qq.com2 784
16beget.com2 671
17spf.web-hosting.com2 377
18spf.sender.xserver.jp2 352
19spf.ess.barracudanetworks.com2 242
20stspg-customer.com2 186
21mxsspf.sendpulse.com2 184
22_netblocks.mimecast.com2 103
23eu._netblocks.mimecast.com1 972
24zcsend.net1 892
25_spf-eu.ionos.com1 839
Show rows 26 – 100
#SPF includeDomains
26spf.emailsignatures365.com1 762
27transmail.net1 585
28spf.messagelabs.com1 554
29aspmx.googlemail.com1 496
30spf.titan.email1 487
31spf.mxhichina.com1 398
32spf.messagingengine.com1 357
33musvc.com1 355
34_spf.locaweb.com.br1 333
35_mailcust.gandi.net1 331
36spf.antispamcloud.com1 323
37spf.exclaimer.net1 313
38spf.tmes.trendmicro.com1 256
39spf.dynect.net1 234
40spf.crsend.com1 172
41spf.163.com1 168
42_spf.timeweb.ru1 163
43_spf.kundenserver.de1 127
44_spf.mailspamprotection.com1 106
45_spf.createsend.com1 102
46mxsmtp.sendpulse.com1 101
47spf.makeshop.jp1 096
48netblocks.dreamhost.com1 071
49spf.smtp2go.com1 062
50_spf.perfora.net1 040
51spfgw.fsi.ne.jp997
52outboundmail.blackbaud.net976
53authsmtp.com976
54kagoya.net971
55spf2.esputnik.com971
56_spf.ukraine.com.ua940
57_spf.mailhostbox.com929
58spf.securedserverspace.com924
59spf-bma.mpme.jp876
60_spf.jupiter.salesmanago.pl867
61relay.mailbaby.net862
62cmail1.com830
63_spf.hosting.reg.ru777
64spf.hornetsecurity.com753
65ispgateway.de753
66_spf.kmitd.com751
67spfa.mailendo.com743
68spf.improvmx.com729
69_spf.hostedemail.com718
70mailcontrol.com711
71bluehost.com707
72spf.aams4.jp704
73spf.shopserve.jp687
74spf.mail.intercom.io665
75spf.ipzmarketing.com628
76one.zoho.com627
77e2ma.net624
78spf.securemx.jp613
79_spf.emaillabs.net.pl611
80zoho.in611
81au._netblocks.mimecast.com606
82_spf.aruba.it606
83infusionmail.com605
84turbo-smtp.com594
85spf.mindbox.ru593
86spf001.shop-pro.jp584
87spf.webapps.net578
88_spf-us.ionos.com577
89spf.nl2go.com570
90spf.hostmar.com568
91spf.afas.online556
92spf.autopilothq.com551
93_auxspf.axspace.com547
94spf.stackmail.com544
95spf.eu.exclaimer.net544
96spf.mailanyone.net533
97agenturserver.de518
98spf.mx.hostinger.com517
99email-od.com512
100spf.q-send.jp511

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