Who uses what for email DAILY

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

681 988
Domains with MX
632 521
Domains with SPF
432 875
Domains with DMARC
681 988
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 6 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 / Other176 57325.89%
2Google Workspace150 38322.05%
3Microsoft 365115 07416.87%
4Generic / unmatched (mail.*)89 00413.05%
5Generic / unmatched (mx*.*)61 2088.97%
6Yandex 36012 0171.76%
7Mimecast11 1291.63%
8Generic / unmatched (smtp.*)8 4771.24%
9Zoho Mail7 0571.03%
10Amazon WorkMail5 0380.74%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11OVH Mail4 5410.67%
12QQ Mail (Tencent)4 4290.65%
13Mail.ru for Business3 9630.58%
14Cisco IronPort3 1760.47%
151&1 IONOS3 1470.46%
16Rackspace Email2 9580.43%
17Mailgun (inbound)2 4340.36%
18Hosted Email (Rackspace/IONOS)2 1020.31%
19Beget (RU)2 0210.3%
20Alibaba Mail (China)1 6970.25%
21Zoho Mail (EU)1 6560.24%
22Gandi Mail1 6140.24%
23FastMail1 5200.22%
24ProtonMail1 3440.2%
25Titan (Hostinger)1 2140.18%
26NetEase Mail1 1750.17%
27Timeweb (RU)1 0530.15%
28Zoho Mail (IN)8460.12%
29ImprovMX (forwarding)7900.12%
30CSC (corporate)7290.11%

Trend — last 6 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.16%
335 262 domains
Unique unmatched MX hosts
200 652
individual hostnames in the long tail
Self-hosted
22.96%
156 584 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 3425.75%
2SendGrid (Twilio)30 3514.8%
3Mailgun26 0224.11%
4Mailchimp25 7724.07%
5Zendesk25 3144.0%
6Mandrill24 1413.82%
7Salesforce16 4572.6%
8Mailjet (Sinch)13 1172.07%
9Brevo (ex-Sendinblue)7 6121.2%
10Elastic Email4 5800.72%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Marketo (Adobe)3 7720.6%
12Unisender (RU)3 5730.56%
13SparkPost2 8370.45%
14Postmark2 7840.44%
15Salesforce Marketing Cloud2 2280.35%
16Constant Contact2 1140.33%
17MailerSend1 6920.27%
18Freshdesk1 6190.26%
19SMTP.com1 3460.21%
20Sailthru7120.11%
21SMTP.BZ7010.11%
22Customer.io5240.08%
23GetResponse5140.08%
24Eloqua (Oracle)3190.05%
25HubSpot420.01%
26Intercom300.0%
27Klaviyo120.0%
28Dotdigital60.0%
29AWeber30.0%
30Omnisend30.0%

Trend — last 6 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)5 9440.94%
2Shopify5 6000.89%
3KnowBe43 5980.57%
4Atlassian (Jira/Confluence)2 0520.32%
5Trustpilot2 0160.32%
6Firebase (Google)1 6590.26%
7NetSuite (Oracle)1 1940.19%
8Qualtrics1 1790.19%
9BigCommerce1 1700.18%
10Lark / Feishu1 0980.17%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Sage Intacct1 0450.17%
12Docebo (LMS)9750.15%
13Oracle Cloud Email9430.15%
14WordPress.com / WP Cloud9130.14%
15Oracle Cloud8030.13%
16ConnectWise7030.11%
17PayPal Braintree6850.11%
18ClickDimensions6810.11%
19Greenhouse6580.1%
20Autotask (ConnectWise)6420.1%
21UKG / UltiPro5560.09%
22Zendesk4760.08%
23HappyFox4690.07%
24FormAssembly4320.07%
25Chargebee3490.06%
26Shoptet3450.05%
27Odoo3170.05%
28Freshsales (Freshworks)2250.04%
29Gorgias1850.03%
30Squarespace1430.02%

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

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

Trend — last 6 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;48 896
2v=DMARC1; p=none33 307
3v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com6 287
4v=DMARC1;p=none;4 293
5v=DMARC1; p=quarantine;4 182
6v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 748
7v=DMARC1; p=quarantine3 455
8v=DMARC1; p=reject;3 366
9v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864002 809
10v=DMARC1; p=none; aspf=r; adkim=r;2 624
11v=DMARC1; p=reject2 511
12v=DMARC1; p=quarantine; adkim=s; aspf=s2 499
13v=DMARC1; p=quarantine; pct=1002 163
14v=DMARC1;p=none1 795
15v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 769
16v=DMARC1; p=none; aspf=r; sp=none1 631
17v=DMARC1; p=reject; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;1 523
18v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 500
19v=DMARC1;p=quarantine;pct=100;fo=11 482
20v=DMARC1; p=none; adkim=r; aspf=r;1 454
21v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 340
22v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 293
23v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;1 290
24v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email1 279
25v=DMARC1; p=none; sp=none;1 122
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;1 013
27v=DMARC1; p=none; sp=none1 004
28v=DMARC1;p=reject;943
29v=DMARC1; p=none; pct=100814
30v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email738
31v=DMARC1; p=reject; pct=100713
32v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s628
33v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400609
34v=DMARC1; p=reject; pct=100;601
35v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com577
36v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com545
37v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com517
38v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400513
39v=DMARC1;p=quarantine491
40v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;484
41v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com480
42v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;477
43v=DMARC1; p=quarantine; pct=100;453
44v=DMARC1; p=none; pct=100;444
45v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s433
46v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;398
47v=DMARC1; p=none; sp=none; adkim=r; aspf=r390
48v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com382
49v=DMARC1; p=none; fo=1368
50v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100349
51v=DMARC1; p=reject; adkim=s; aspf=s;346
52v=DMARC1;p=reject328
53v=DMARC1; p=none; adkim=r; aspf=r325
54v=DMARC1322
55v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400305
56v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1297
57v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;277
58v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1273
59v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com259
60v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp254
61v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100243
62v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com243
63v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com241
64v=DMARC1; p=none; pct=100; rua=mailto:dmarc@fbl.optin.com;229
65v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;228
66v=DMARC1;p=quarantine;227
67v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net;225
68v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com223
69v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;223
70v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email,mailto:DMARC_Reports@playtika.com220
71v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400219
72v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com215
73v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com213
74v=DMARC1; p=reject; sp=reject; rua=mailto:; ruf=mailto:;206
75v=DMARC1; p=none; aspf=r; adkim=r206
76v=DMARC1; p=reject; adkim=s; aspf=s203
77v=DMARC1; p=quarantine; adkim=s; aspf=s;197
78v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl196
79v=DMARC1;p=none;pct=100;aspf=r;adkim=r;194
80v=DMARC1;p=none;pct=100182
81v=DMARC1;p=none;sp=none;pct=100;rua=mailto:dmarc-domains@votresite.ca;ri=86400;aspf=r;adkim=r;fo=1180
82v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com175
83v=DMARC1; p=reject; aspf=s; adkim=s;174
84v=DMARC1; p=none; rua=mailto:abuse@mailbiz.com.br; ruf=mailto:abuse@mailbiz.com.br171
85v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400169
86v=DMARC1; p=none; pct=50;169
87v=DMARC1; p=reject; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com167
88v=DMARC1; p=none; rua=mailto:dmarc@newsletters.visualsoft.co.uk; aspf=r; adkim=r; ri=86400; fo=1163
89v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf162
90v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;160
91v=DMARC1; p=none; rua=mailto:dmarc.rua@edrone.app; ruf=mailto:dmarc.ruf@edrone.app157
92v=DMARC1;p=none;pct=0;rua=mailto:dmarc@vercom.pl156
93v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400155
94v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com155
95v=DMARC1; p=quarantine; fo=1153
96v=DMARC1; p=reject; sp=reject152
97v=DMARC1; p=none; rua=mailto:dmarc-rua@report.securemx.jp152
98v=DMARC1; p=none; pct=100; adkim=r; aspf=r151
99v=DMARC1; p=none; fo=1;151
100v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com150

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.com8 313
2eforward1.registrar-servers.com8 310
3eforward4.registrar-servers.com8 309
4eforward2.registrar-servers.com8 303
5eforward3.registrar-servers.com8 287
6route1.mx.cloudflare.net7 466
7route2.mx.cloudflare.net7 463
8route3.mx.cloudflare.net7 462
9mailstore1.secureserver.net5 768
10smtp.secureserver.net5 765
11mx1.hostinger.com4 837
12mx2.hostinger.com4 807
13nan3 091
14mx1-us1.ppe-hosted.com2 630
15mx2-us1.ppe-hosted.com2 611
16mx1-hosting.jellyfish.systems2 273
17mx2-hosting.jellyfish.systems2 273
18mx3-hosting.jellyfish.systems2 269
19mx1.privateemail.com1 829
20mx2.privateemail.com1 816
21mx10.antispam.mailspamprotection.com1 731
22mx30.antispam.mailspamprotection.com1 729
23mx20.antispam.mailspamprotection.com1 728
24mx1.hostinger.in1 126
25mx2.hostinger.in1 119
Show rows 26 – 100
#MX targetDomains
26mx1.mailchannels.net1 067
27mx2.mailchannels.net1 061
28mx01.hornetsecurity.com1 013
29mx02.hornetsecurity.com1 012
30mx.plingest.com999
31mx.a.locaweb.com.br991
32mx03.hornetsecurity.com987
33mx.b.locaweb.com.br980
34mx04.hornetsecurity.com980
35mx.jk.locaweb.com.br977
36isaac.mx.cloudflare.net967
37linda.mx.cloudflare.net965
38amir.mx.cloudflare.net964
39mx.stackmail.com918
40mx.core.locaweb.com.br887
41park-mx.above.com798
42us2.mx1.mailhostbox.com787
43us2.mx3.mailhostbox.com787
44us2.mx2.mailhostbox.com786
45mx.spamexperts.com751
46fallbackmx.spamexperts.eu703
47lastmx.spamexperts.net691
48smtpin.rzone.de689
49mx1.qiye.aliyun.com671
50mxlb.ispgateway.de662
51mx20.mailspamprotection.com655
52mx2.qiye.aliyun.com654
53mx10.mailspamprotection.com652
54mx3.qiye.aliyun.com646
55mx30.mailspamprotection.com645
56mx1.feishu.cn615
57mx2.feishu.cn615
58mx3.feishu.cn615
59mx1.csof.net610
60mx2.csof.net610
61mta-gw.infomaniak.ch599
62dmail.kagoya.net598
63mx.securemx.jp598
64mx1.forwardemail.net567
65mx2.forwardemail.net565
66za-smtp-inbound-1.mimecast.co.za555
67za-smtp-inbound-2.mimecast.co.za555
68mx20.ukraine.com.ua547
69mx15.ukraine.com.ua543
70mail.register.it500
71mx01.nicmail.ru483
72mx.ukraine.com.ua476
73mx02.nicmail.ru473
74mx03.nicmail.ru470
75mx001.netsol.xion.oxcs.net470
76mx002.netsol.xion.oxcs.net470
77mail.h-email.net468
78mailstream-east.mxrecord.io466
79mailstream-west.mxrecord.io463
80localhost416
81mailstream-central.mxrecord.mx416
82mx1-eu1.ppe-hosted.com403
83mx2-eu1.ppe-hosted.com398
84mx-biz.mail.am0.yahoodns.net385
85mail381
86mx01.lolipop.jp372
87mx156.hostedmxserver.com371
88mx.serviciodecorreo.es362
89mx2.larksuite.com338
90mx1.larksuite.com337
91mx3.larksuite.com337
92alltheemails.com307
93in.arubabusiness.it299
94mx01.udag.de295
95mx00.udag.de293
96mx1.dreamhost.com292
97mx-01-eu-central-1.prod.hydra.sophos.com291
98mx2.dreamhost.com288
99mx1.123-reg.co.uk288
100mx0.123-reg.co.uk287

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
1secureserver.net9 175
2_spf.mx.cloudflare.net8 931
3spf.efwd.registrar-servers.com8 536
4_spf.mail.hostinger.com6 854
5relay.mailchannels.net6 544
6_spf.mlsend.com6 024
7zoho.com5 813
8mx.ovh.com5 023
9us._netblocks.mimecast.com4 025
10websitewelcome.com3 952
11emsd1.com3 569
12emailsrvr.com3 324
13_spf.createsend.com2 925
14spf.mail.qq.com2 826
15spf.web-hosting.com2 809
16helpscoutemail.com2 763
17spf.ess.barracudanetworks.com2 504
18zcsend.net2 452
19_spf-eu.ionos.com2 432
20mxsspf.sendpulse.com2 332
21stspg-customer.com2 313
22eu._netblocks.mimecast.com2 274
23beget.com2 232
24spf.sender.xserver.jp2 187
25transmail.net1 938
Show rows 26 – 100
#SPF includeDomains
26spf.emailsignatures365.com1 788
27_spf.rdstation.com.br1 748
28_netblocks.mimecast.com1 695
29zohomail.com1 593
30spf.messagingengine.com1 580
31musvc.com1 531
32spf.crsend.com1 524
33spf.mxhichina.com1 468
34_incspfcheck.mailspike.net1 388
35spf.brevo.com1 385
36spf.antispamcloud.com1 379
37spf.exclaimer.net1 373
38_mailcust.gandi.net1 367
39spf.titan.email1 358
40spf.tmes.trendmicro.com1 334
41aspmx.googlemail.com1 321
42spf.163.com1 300
43netblocks.dreamhost.com1 251
44spf.messagelabs.com1 232
45spf.hornetsecurity.com1 214
46_spf.locaweb.com.br1 166
47_spf.kundenserver.de1 159
48spf.smtp2go.com1 135
49relay.mailbaby.net1 108
50one.zoho.com1 096
51spf.securedserverspace.com1 093
52outboundmail.blackbaud.net1 083
53_spf.timeweb.ru1 083
54_spf.perfora.net1 070
55spf.dynect.net1 057
56_spf.aruba.it1 047
57spfa.cpmails.com1 045
58authsmtp.com1 032
59_spf.hostedemail.com1 027
60spf2.esputnik.com1 019
61_spf.jupiter.salesmanago.pl1 006
62_spf.ukraine.com.ua962
63spf.stackmail.com948
64spf-bma.mpme.jp897
65spf.ipzmarketing.com896
66_spf.mailhostbox.com896
67spfa.mailendo.com890
68_spf.mailspamprotection.com881
69ispgateway.de872
70spf.qiye.aliyun.com851
71spf.mysecurecloudhost.com831
72spf-de.emailsignatures365.com819
73_spf.hosting.reg.ru807
74_spf.emaillabs.net.pl804
75mxsmtp.sendpulse.com791
76spf.eu.exclaimer.net787
77kagoya.net760
78usb._netblocks.mimecast.com759
79cmail1.com753
80zoho.in748
81spf.improvmx.com741
82agenturserver.de727
83_spf.kmitd.com708
84spf.infomaniak.ch703
85turbo-smtp.com699
86eu.zcsend.net694
87_spf-us.ionos.com684
88spf.afas.online684
89de._netblocks.mimecast.com679
90au._netblocks.mimecast.com675
91bluehost.com674
92spf.webapps.net672
93spf.us.exclaimer.net666
94eu.transmail.net654
95mailcontrol.com648
96spf.bmv.jp647
97spf.flowmailer.net634
98_spf.dashasender.ru630
99sendersrv.com624
100spf.nl2go.com621

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