Who uses what for email DAILY

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

687 700
Domains with MX
638 068
Domains with SPF
429 622
Domains with DMARC
687 700
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 7 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 / Other179 16326.05%
2Google Workspace149 81721.79%
3Microsoft 365113 54516.51%
4Generic / unmatched (mail.*)93 04113.53%
5Generic / unmatched (mx*.*)61 1258.89%
6Yandex 36013 2481.93%
7Mimecast11 1351.62%
8Generic / unmatched (smtp.*)8 4321.23%
9Zoho Mail6 8991.0%
10Amazon WorkMail5 1010.74%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11OVH Mail4 5150.66%
12QQ Mail (Tencent)4 5010.65%
13Mail.ru for Business4 4580.65%
14Cisco IronPort3 1540.46%
151&1 IONOS3 0170.44%
16Rackspace Email2 9560.43%
17Mailgun (inbound)2 4380.35%
18Beget (RU)2 1890.32%
19Hosted Email (Rackspace/IONOS)1 8190.26%
20Zoho Mail (EU)1 6640.24%
21Alibaba Mail (China)1 6590.24%
22Gandi Mail1 6020.23%
23FastMail1 5600.23%
24ProtonMail1 3460.2%
25NetEase Mail1 1950.17%
26Titan (Hostinger)1 1820.17%
27Timeweb (RU)1 1600.17%
28Zoho Mail (IN)7990.12%
29ImprovMX (forwarding)7960.12%
30Reg.ru7070.1%

Trend — last 7 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
49.7%
341 761 domains
Unique unmatched MX hosts
208 243
individual hostnames in the long tail
Self-hosted
23.84%
163 921 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 SES36 2065.67%
2SendGrid (Twilio)30 5184.78%
3Mailchimp26 1854.1%
4Mailgun25 7664.04%
5Zendesk25 4223.98%
6Mandrill24 4573.83%
7Salesforce16 3292.56%
8Mailjet (Sinch)13 0362.04%
9Brevo (ex-Sendinblue)7 5831.19%
10Elastic Email4 5430.71%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Unisender (RU)3 8840.61%
12Marketo (Adobe)3 8190.6%
13SparkPost2 8830.45%
14Postmark2 7940.44%
15Salesforce Marketing Cloud2 2420.35%
16Constant Contact2 1520.34%
17MailerSend1 6570.26%
18Freshdesk1 6390.26%
19SMTP.com1 3500.21%
20SMTP.BZ7480.12%
21Sailthru7220.11%
22Customer.io5420.08%
23GetResponse4980.08%
24Eloqua (Oracle)3270.05%
25HubSpot410.01%
26Intercom320.01%
27Klaviyo120.0%
28Dotdigital50.0%
29AWeber30.0%
30Pipedrive30.0%

Trend — last 7 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 0240.94%
2Shopify5 2000.81%
3KnowBe43 5740.56%
4Atlassian (Jira/Confluence)2 0800.33%
5Trustpilot2 0020.31%
6Firebase (Google)1 6860.26%
7Qualtrics1 1840.19%
8Lark / Feishu1 1610.18%
9BigCommerce1 1610.18%
10NetSuite (Oracle)1 1520.18%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Sage Intacct9860.15%
12Docebo (LMS)9750.15%
13Oracle Cloud Email9200.14%
14WordPress.com / WP Cloud8900.14%
15Oracle Cloud8040.13%
16ClickDimensions7060.11%
17PayPal Braintree6890.11%
18ConnectWise6780.11%
19Greenhouse6730.11%
20Autotask (ConnectWise)6260.1%
21UKG / UltiPro5400.08%
22Zendesk4910.08%
23HappyFox4800.08%
24FormAssembly4500.07%
25Shoptet3740.06%
26Chargebee3500.05%
27Odoo3190.05%
28Freshsales (Freshworks)2180.03%
29Gorgias1820.03%
30Squarespace1320.02%

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

7d ago▲ +0.23%90d ago▲ +1.86%

Trend — last 7 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=none;47 281
2v=DMARC1; p=none32 678
3v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com5 989
4v=DMARC1;p=none;4 319
5v=DMARC1; p=quarantine;4 178
6v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 992
7v=DMARC1; p=quarantine3 429
8v=DMARC1; p=reject;3 242
9v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864002 832
10v=DMARC1; p=reject2 523
11v=DMARC1; p=none; aspf=r; adkim=r;2 510
12v=DMARC1; p=quarantine; adkim=s; aspf=s2 494
13v=DMARC1; p=quarantine; pct=1002 185
14v=DMARC1;p=none1 793
15v=DMARC1; p=none; aspf=r; sp=none1 790
16v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 783
17v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 520
18v=DMARC1;p=quarantine;pct=100;fo=11 505
19v=DMARC1; p=none; adkim=r; aspf=r;1 420
20v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 411
21v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 351
22v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;1 324
23v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email1 285
24v=DMARC1; p=none; sp=none;1 123
25v=DMARC1; p=reject; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;1 107
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; sp=none1 027
27v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;981
28v=DMARC1;p=reject;917
29v=DMARC1; p=none; pct=100813
30v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email744
31v=DMARC1; p=reject; pct=100723
32v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s688
33v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400625
34v=DMARC1; p=reject; pct=100;586
35v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com578
36v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com562
37v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400534
38v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com505
39v=DMARC1;p=quarantine500
40v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;484
41v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com484
42v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;476
43v=DMARC1; p=none; pct=100;447
44v=DMARC1; p=quarantine; pct=100;442
45v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s411
46v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;403
47v=DMARC1; p=reject; rua=mailto:a@dmarcreports.facebook.com;394
48v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com383
49v=DMARC1;p=reject376
50v=DMARC1; p=reject; adkim=s; aspf=s;366
51v=DMARC1; p=none; sp=none; adkim=r; aspf=r362
52v=DMARC1; p=none; fo=1354
53v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100345
54v=DMARC1; p=none; adkim=r; aspf=r326
55v=DMARC1323
56v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400313
57v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;291
58v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1289
59v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1278
60v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com261
61v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp252
62v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100241
63v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400239
64v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com237
65v=DMARC1; p=reject; rua=mailto:zsrbf6su@ag.eu.dmarcadvisor.com;237
66v=DMARC1; p=none; pct=100; rua=mailto:dmarc@fbl.optin.com;233
67v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com233
68v=DMARC1;p=quarantine;232
69v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;224
70v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email,mailto:DMARC_Reports@playtika.com218
71v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com215
72v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;211
73v=DMARC1; p=reject; adkim=s; aspf=s209
74v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com205
75v=DMARC1;p=none;pct=100;aspf=r;adkim=r;204
76v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com198
77v=DMARC1; p=none; aspf=r; adkim=r196
78v=DMARC1; p=quarantine; adkim=s; aspf=s;195
79v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400187
80v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl186
81v=DMARC1;p=none;pct=100179
82v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net;171
83v=DMARC1; p=none; pct=50;170
84v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com169
85v=DMARC1; p=none; rua=mailto:abuse@mailbiz.com.br; ruf=mailto:abuse@mailbiz.com.br168
86v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf167
87v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com167
88v=DMARC1; p=none; fo=1;165
89v=DMARC1; p=none; rua=mailto:dmarc.rua@edrone.app; ruf=mailto:dmarc.ruf@edrone.app162
90v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400161
91v=DMARC1; p=none; pct=100; adkim=r; aspf=r157
92v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;157
93v=DMARC1;p=none;pct=0;rua=mailto:dmarc@vercom.pl155
94v=DMARC1; p=none; rua=mailto:61e7fc8674b33@ag.eu.dmarcly.com; ruf=mailto:61e7fc8674b33@fo.eu.dmarcly.com; sp=none;154
95v=DMARC1; p=quarantine; fo=1153
96v=DMARC1;""p=none;153
97v=DMARC1;p=quarantine;pct=100151
98v=DMARC1; p=reject; pct=100; adkim=s; aspf=s150
99v=DMARC1; p=quarantine; sp=quarantine150
100v=DMARC1; p=none; rua=mailto:dmarc@reporting.unisender.com149

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.com8 212
2eforward5.registrar-servers.com8 212
3eforward1.registrar-servers.com8 207
4eforward2.registrar-servers.com8 199
5eforward3.registrar-servers.com8 181
6route1.mx.cloudflare.net7 453
7route2.mx.cloudflare.net7 450
8route3.mx.cloudflare.net7 449
9mailstore1.secureserver.net5 672
10smtp.secureserver.net5 657
11mx1.hostinger.com4 312
12mx2.hostinger.com4 288
13mx1-us1.ppe-hosted.com2 542
14mx2-us1.ppe-hosted.com2 525
15nan2 235
16mx1-hosting.jellyfish.systems2 129
17mx2-hosting.jellyfish.systems2 129
18mx3-hosting.jellyfish.systems2 124
19mx1.privateemail.com1 818
20mx2.privateemail.com1 805
21mx30.antispam.mailspamprotection.com1 596
22mx20.antispam.mailspamprotection.com1 595
23mx10.antispam.mailspamprotection.com1 594
24mx156.hostedmxserver.com1 077
25mx1.mailchannels.net1 073
Show rows 26 – 100
#MX targetDomains
26mx2.mailchannels.net1 068
27mx.a.locaweb.com.br1 045
28mx.b.locaweb.com.br1 034
29mx.jk.locaweb.com.br1 032
30mx1.hostinger.in1 018
31mx2.hostinger.in1 009
32mx01.hornetsecurity.com978
33isaac.mx.cloudflare.net977
34mx02.hornetsecurity.com976
35amir.mx.cloudflare.net975
36linda.mx.cloudflare.net975
37mx03.hornetsecurity.com954
38mx04.hornetsecurity.com947
39mx.core.locaweb.com.br928
40mx.stackmail.com923
41park-mx.above.com879
42us2.mx1.mailhostbox.com801
43us2.mx3.mailhostbox.com800
44us2.mx2.mailhostbox.com796
45mx.spamexperts.com752
46fallbackmx.spamexperts.eu701
47lastmx.spamexperts.net689
48mxlb.ispgateway.de669
49mx20.mailspamprotection.com657
50mx10.mailspamprotection.com655
51smtpin.rzone.de654
52mx30.mailspamprotection.com649
53mx1.qiye.aliyun.com633
54mx2.qiye.aliyun.com618
55mx1.csof.net614
56mx2.csof.net614
57mx1.feishu.cn613
58mx2.feishu.cn612
59mx3.feishu.cn612
60mx3.qiye.aliyun.com607
61mx.securemx.jp596
62mx20.ukraine.com.ua592
63dmail.kagoya.net589
64mx15.ukraine.com.ua587
65mx2.forwardemail.net585
66mx1.forwardemail.net584
67mta-gw.infomaniak.ch561
68mx01.nicmail.ru552
69za-smtp-inbound-2.mimecast.co.za549
70za-smtp-inbound-1.mimecast.co.za547
71mx02.nicmail.ru540
72mx03.nicmail.ru539
73localhost501
74mail.h-email.net482
75mail.register.it480
76mx.ukraine.com.ua479
77mailstream-east.mxrecord.io477
78mailstream-west.mxrecord.io475
79mx001.netsol.xion.oxcs.net452
80mx002.netsol.xion.oxcs.net452
81mailstream-central.mxrecord.mx426
82mx2.larksuite.com396
83mx1-eu1.ppe-hosted.com396
84mx3.larksuite.com395
85mx2-eu1.ppe-hosted.com395
86mx1.larksuite.com394
87mx-biz.mail.am0.yahoodns.net385
88mail378
89mx01.lolipop.jp360
90mx.serviciodecorreo.es349
91alltheemails.com315
92mx1.dreamhost.com306
93mx1.spaceweb.ru306
94mx2.spaceweb.ru303
95mx2.dreamhost.com301
96mx01.udag.de292
97mx00.udag.de290
98mx-01-eu-central-1.prod.hydra.sophos.com280
99in.arubabusiness.it277
100primary.us.email.fireeyecloud.com277

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
1_spf.mx.cloudflare.net8 889
2secureserver.net8 524
3spf.efwd.registrar-servers.com8 403
4relay.mailchannels.net6 578
5_spf.mail.hostinger.com6 227
6_spf.mlsend.com5 931
7zoho.com5 803
8mx.ovh.com4 903
9websitewelcome.com4 118
10us._netblocks.mimecast.com4 076
11emsd1.com3 629
12emailsrvr.com3 304
13_spf.createsend.com2 903
14spf.mail.qq.com2 827
15helpscoutemail.com2 802
16spf.web-hosting.com2 672
17spf.ess.barracudanetworks.com2 473
18mxsspf.sendpulse.com2 468
19beget.com2 441
20zcsend.net2 410
21stspg-customer.com2 320
22_spf-eu.ionos.com2 308
23eu._netblocks.mimecast.com2 290
24spf.sender.xserver.jp2 057
25transmail.net1 929
Show rows 26 – 100
#SPF includeDomains
26spf.emailsignatures365.com1 790
27_spf.rdstation.com.br1 766
28_netblocks.mimecast.com1 714
29spf.messagingengine.com1 605
30musvc.com1 522
31zohomail.com1 498
32spf.crsend.com1 463
33spf.mxhichina.com1 422
34_incspfcheck.mailspike.net1 415
35spf.exclaimer.net1 391
36aspmx.googlemail.com1 376
37spf.antispamcloud.com1 367
38_mailcust.gandi.net1 365
39spf.tmes.trendmicro.com1 357
40spf.brevo.com1 346
41spf.163.com1 336
42spf.titan.email1 336
43spf.messagelabs.com1 266
44netblocks.dreamhost.com1 257
45_spf.locaweb.com.br1 215
46_spf.timeweb.ru1 212
47spf.hornetsecurity.com1 175
48spf.securedserverspace.com1 143
49spf.smtp2go.com1 129
50relay.mailbaby.net1 119
51_spf.kundenserver.de1 113
52outboundmail.blackbaud.net1 100
53one.zoho.com1 070
54spf.dynect.net1 069
55spf2.esputnik.com1 063
56authsmtp.com1 055
57_spf.perfora.net1 025
58_spf.ukraine.com.ua1 021
59_spf.aruba.it1 012
60_spf.jupiter.salesmanago.pl1 003
61spfa.cpmails.com996
62_spf.hostedemail.com957
63_spf.mailspamprotection.com928
64spf.stackmail.com922
65_spf.mailhostbox.com908
66spf-bma.mpme.jp890
67spf.ipzmarketing.com883
68spfa.mailendo.com876
69ispgateway.de850
70spf.mysecurecloudhost.com849
71mxsmtp.sendpulse.com849
72_spf.hosting.reg.ru849
73_spf.emaillabs.net.pl802
74spf.qiye.aliyun.com801
75spf.eu.exclaimer.net798
76spf.improvmx.com761
77spf-de.emailsignatures365.com760
78usb._netblocks.mimecast.com758
79kagoya.net752
80cmail1.com751
81_spf.kmitd.com722
82agenturserver.de705
83zoho.in703
84turbo-smtp.com702
85_spf.dashasender.ru699
86spf.afas.online697
87eu.zcsend.net688
88bluehost.com679
89au._netblocks.mimecast.com678
90spf.infomaniak.ch667
91_spf-us.ionos.com661
92de._netblocks.mimecast.com657
93eu.transmail.net650
94spf.webapps.net649
95spf.us.exclaimer.net645
96mailcontrol.com645
97spf.flowmailer.net640
98spf.mindbox.ru640
99spf.bmv.jp630
100spf.unisender.ru617

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