Who uses what for email DAILY

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

569 414
Domains with MX
464 224
Domains with SPF
0
Domains with DMARC
569 414
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 30 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
1Self-Hosted199 54135.04%
2Google Workspace122 07821.44%
3Microsoft 36554 3799.55%
4Unknown / Other30 6655.39%
5Yandex 36022 3013.92%
6Generic / unmatched (mx*.*)12 5592.21%
7GoDaddy9 5991.69%
8Zoho Mail8 6831.52%
9Hostinger7 8121.37%
10Namecheap Email Forwarding6 9531.22%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Generic / unmatched (mail.*)6 0141.06%
12Mimecast5 7731.01%
13SpamExperts (SolarWinds)5 2580.92%
14Proofpoint5 1830.91%
15Beget (RU)3 9720.7%
16Jellyfish (Namecheap)3 8820.68%
17Hosted Email (Rackspace/IONOS)3 7410.66%
18Rackspace Email3 5160.62%
19OVH Mail2 8320.5%
20Mail.ru for Business2 7360.48%
21Barracuda2 6070.46%
221&1 IONOS2 2530.4%
23Namecheap PrivateEmail2 0710.36%
24Ukraine.com.ua hosting2 0660.36%
25QQ Mail (Tencent)2 0450.36%
26Amazon WorkMail1 9580.34%
27Proofpoint Essentials1 8730.33%
28Cisco IronPort1 6020.28%
29Timeweb (RU)1 4700.26%
30Mailgun (inbound)1 4400.25%

Trend — last 30 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
8.81%
50 144 domains
Unique unmatched MX hosts
21 590
individual hostnames in the long tail
Self-hosted
35.06%
199 649 domains running their own MX
📋 Open detailed long-tail report →·🏠 Providers portfolio →·📧 SaaS/ESP senders →·📮 Mailing services (ESPs) →·⬇ 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
1Mailchimp18 2693.94%
2Mandrill14 9003.21%
3SendGrid (Twilio)14 3983.1%
4Amazon SES13 3442.87%
5Zendesk12 3342.66%
6Mailgun11 8452.55%
7MailChannels10 8722.34%
8Namecheap Forwarding7 0731.52%
9SpamExperts (SolarWinds)6 3111.36%
10Salesforce5 5501.2%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Mimecast5 0041.08%
12Brevo (ex-Sendinblue)4 5870.99%
13Mailjet (Sinch)4 2240.91%
14Elastic Email2 9500.64%
15SendPulse2 7190.59%
16Marketo (Adobe)2 6470.57%
17SpamExperts (AntiSpamCloud)2 0770.45%
18MailerSend2 0480.44%
19Unisender (RU)2 0170.43%
20Help Scout2 0140.43%
21Emsd1 (transactional)1 8500.4%
22Zoho Campaigns1 8080.39%
23Zoho ZeptoMail1 6400.35%
24Postmark1 5970.34%
25SparkPost1 4050.3%
26Barracuda Essentials1 3660.29%
27MailHostBox1 3350.29%
28Constant Contact1 1310.24%
29Freshdesk1 1100.24%
30Exclaimer (signatures)8870.19%

Trend — last 30 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)4 1550.9%
2Shopify3 2650.7%
3BigCommerce1 2590.27%
4Statuspage (Atlassian)1 2490.27%
5CodeTwo Email Signatures 3651 1690.25%
6Firebase (Google)9500.2%
7KnowBe48700.19%
8Trustpilot7840.17%
9Atlassian (Jira/Confluence)7070.15%
10NetSuite (Oracle)6480.14%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Qualtrics5500.12%
12PayPal Braintree4840.1%
13Squarespace4760.1%
14ClickDimensions4610.1%
15Greenhouse3890.08%
16Zendesk3470.07%
17Docebo (LMS)3100.07%
18Freshsales (Freshworks)3010.06%
19RetailCRM2410.05%
20ConnectWise2300.05%
21Gorgias2000.04%
22Sage Intacct1810.04%
23k.io (workspace)1560.03%
24Autotask (ConnectWise)1540.03%
25Brightspace (D2L)1540.03%
26HappyFox1470.03%
27Chargebee1150.02%
28SchoolMessenger1150.02%
29Gannett (USA Today)1110.02%
30Oracle Cloud Email1050.02%

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

7d ago▲ +0.25%30d ago▲ +1.03%90d ago▲ +1.88%1y ago▲ +4.30%

Trend — last 30 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;53 819
2v=DMARC1; p=none31 635
3v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com8 034
4v=DMARC1; p=quarantine;4 753
5v=DMARC1; p=quarantine3 897
6v=DMARC1;p=none;3 765
7v=DMARC1; p=reject;3 674
8v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 272
9v=DMARC1; p=quarantine; adkim=s; aspf=s3 195
10v=DMARC1; p=reject2 858
11v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;2 701
12v=DMARC1; p=quarantine; pct=1002 330
13v=DMARC1; p=none; aspf=r; adkim=r;2 266
14v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864002 117
15v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 827
16v=DMARC1; p=none; aspf=r; sp=none1 750
17v=DMARC1;p=none1 716
18v=DMARC1; p=none; adkim=r; aspf=r;1 456
19v=DMARC1;p=quarantine;pct=100;fo=11 364
20v=DMARC1;p=reject;1 329
21v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;1 300
22v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 291
23v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email1 223
24v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 213
25v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;1 064
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; sp=none1 055
27v=DMARC1; p=reject; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;1 051
28v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 044
29v=DMARC1; p=none; sp=none;1 039
30v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc.report@axa.com;976
31v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com887
32v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s886
33v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email788
34v=DMARC1; p=reject; rua=mailto:dmarc.report@axa.com;772
35v=DMARC1; p=none; pct=100702
36v=DMARC1; p=reject; pct=100694
37v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400643
38v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com610
39v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com607
40v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com584
41v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400568
42v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:ewai10d2@ag.eu.dmarcian.com; ruf=mailto:ewai10d2@fr.eu.dmarcian.com556
43v=DMARC1;p=quarantine508
44v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;507
45v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com478
46v=DMARC1; p=quarantine; pct=100;474
47v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s453
48v=DMARC1; p=reject; pct=100;443
49v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net; adkim=r; aspf=r;439
50v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;436
51v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1385
52v=DMARC1; p=reject; adkim=s; aspf=s381
53v=DMARC1; p=none; sp=none; adkim=r; aspf=r371
54v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;359
55v=DMARC1; p=reject; adkim=s; aspf=s;359
56v=DMARC1; p=none; adkim=r; aspf=r358
57v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com352
58v=DMARC1;p=reject341
59v=DMARC1; p=none; pct=100;334
60v=DMARC1330
61v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400325
62v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100325
63v=DMARC1; p=none; fo=1324
64v=DMARC1; p=reject; rua=mailto:tnoff9hr@ag.eu.dmarcadvisor.com; aspf=s; adkim=s;314
65v=DMARC1;p=quarantine;312
66v=DMARC1; p=reject; rua=mailto:zsrbf6su@ag.eu.dmarcadvisor.com;296
67v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;281
68v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1276
69v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com271
70v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400269
71v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;258
72v=DMARC1; p=none; aspf=r; adkim=r250
73v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com247
74v=DMARC1;p=none;pct=100244
75v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com236
76v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com231
77v=DMARC1; p=quarantine; adkim=s; aspf=s;227
78v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp225
79v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net;223
80v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;211
81v=DMARC1; p=quarantine; rua=mailto:rua@dmarc.brevo.com206
82v=DMARC1; p=quarantine; adkim=r; aspf=r199
83v=DMARC1; p=reject; sp=reject196
84v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100190
85v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl186
86v=DMARC1; p=quarantine; pct=100; rua=mailto:61e7fc8674b33@ag.eu.dmarcly.com; ruf=mailto:61e7fc8674b33@fo.eu.dmarcly.com; sp=quarantine; fo=1;185
87v=DMARC1; p=none; pct=100; rua=mailto:dmarc@fbl.optin.com;182
88v=DMARC1; p=none; rua=mailto:dmarc@reporting.unisender.com179
89v=DMARC1;p=none;pct=100;aspf=r;adkim=r;178
90v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:lufthansa@rua.agari.com;176
91v=DMARC1;""p=none;""rua=mailto:dmarc_agg@vali.email175
92v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com172
93v=DMARC1;p=reject;pct=100;172
94v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;171
95v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400169
96v=DMARC1; p=reject; pct=100; adkim=s; aspf=s168
97v=DMARC1; p=none; rua=mailto:dmarc.rua@edrone.app; ruf=mailto:dmarc.ruf@edrone.app167
98v=DMARC1; p=quarantine; fo=1164
99v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400161
100v=DMARC1;p=reject;pct=100158

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
1mx01.1and1.com960
2mx00.1and1.com948
3smx2.web-hosting.com550
4smx1.web-hosting.com540
5smx3.web-hosting.com539
6mx-biz.mail.am0.yahoodns.net476
7mx-in04b.natrohost.com473
8mx-in04.natrohost.com471
9mx1.netsolmail.net460
10localhost427
11antispam1.ihs.com.tr355
12antispam2.ihs.com.tr355
13mx01.1and1.co.uk348
14mx-in05.natrohost.com348
15mx-in05b.natrohost.com348
16mx00.1and1.co.uk347
17mailgw.nic.in308
18mx-in03.natrohost.com293
19mx-in03b.natrohost.com293
20smtp-fwd.wordpress.com266
21smtp.imcloud.org261
22mx-in01.natrohost.com250
23mx-in01b.natrohost.com250
24mx-in02b.natrohost.com223
25mx-in02.natrohost.com222
Show rows 26 – 100
#MX targetDomains
26nan213
27ni-spamexperts.guzel.net.tr209
28rd-spamexperts.guzel.net.tr208
29mx1.tmdhosting.com197
30mx2.tmdhosting.com196
31mx01.1and1.fr190
32mx00.1and1.fr189
33smx4.web-hosting.com187
34mx1.inbox.co.il187
35mail1.sbnation.com184
36mta1.youcan.shop183
37mta2.youcan.shop181
38mailbackup3.doruk.net.tr173
39mx00.1and1.es162
40mx01.1and1.es161
41asp.reflexion.net154
42mx0.mail7.freehost.com.ua142
43mx1.mail7.freehost.com.ua141
44mx2.mail7.freehost.com.ua141
45mx1.emailowl.com141
46mxgw.bcc.gov.bd139
47mx2.emailowl.com138
48mailme.enter-system.com137
49mx3.emailowl.com136
50mail.municipality.gov.np135
51mx-100.reflexion.net133
52mx1.supremebox.com132
53mx2.supremebox.com132
54mx-110.reflexion.net126
55mx01.vargonen.net124
56mx2.inbox.co.il114
57mx1.nepal.gov.np113
58mail-s30.1gb.ru111
59mx2.nepal.gov.np111
60mx-backup.serveriai.lt111
61relay.bestofpost.com110
62cyber.mail.trdns.com99
63mail3.eqx.gridhost.co.uk97
64sitemail.everyone.net96
65mx4.name.com95
66mx3.name.com95
67mx6.name.com94
68mx5.name.com94
69mx8.name.com93
70mx7.name.com93
71mx1.jimdo.com90
72mx2.jimdo.com90
73webmail2.sitebuildit.com89
74in.hes.trendmicro.eu86
75mmxs.majordomo.ru85
76posta.muhtar.gov.tr80
77mx.zoho.com.au80
78mx2.zoho.com.au80
79mx3.zoho.com.au80
80mxs.oml.ru79
81mail.aasaam.net79
82relay2.netnames.net78
83relay1.netnames.net76
84mxs.activeby.net75
85mx1.krystal.co.uk75
86mx2.krystal.co.uk75
87mx.simply.com75
88mx4.volusion.com74
89mx3.volusion.com72
90mx1.cloudhosting.co.uk71
91mx2.cloudhosting.co.uk71
92mx.usa.net71
93mx01.ofis.net70
94mx02.ofis.net70
95mail.global.frontbridge.com68
96mxbackup01.ofis.net68
97mail2.utabweb.net68
98mailme-backup.enter-system.com68
99smtp-scan01.mx.reflected.net67
100mx00.schlund.de66

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
1bluehost.com2 160
2_netblockshalon.natrohost.com1 641
3_spfcls.natrohost.com1 623
4webhostbox.net1 447
5spf.flockmail.com1 336
6spf.a2hosting.com1 016
7spf.improvmx.com828
8_spf.turhost.com755
9_spf.protection.veridyen.com728
10_spf.automattic.com681
11spf.autopilothq.com626
12infusionmail.com625
13nicmail.ru618
14_spf.trwww.com590
15send.aweber.com558
16spf.mail.intercom.io549
17cmail1.com509
18relay.is.cc508
19_spf.hoster.by508
20spf.easywp.com500
21_spf.5g-soft.com449
22_spf.nicegrup.com438
23sender.zohobooks.com432
24outlook.com411
25srs.mailii.org337
Show rows 26 – 100
#SPF includeDomains
26e2ma.net321
27mailcontrol.com318
28email-od.com312
29smtp.servconfig.com306
30_spf.act-on.net300
31icpbounce.com298
32spf.mindbox.ru295
33_spf.mx1.mirohost.net288
34_spf.prod.hydra.sophos.com286
35spf.imcloud.org281
36hostmonster.com280
37beget.ru280
38ncapp02.com277
39spf.hostmar.com277
40spf.hes.trendmicro.com274
41datadrivenemail.com273
42_netblocks.google.com268
43ncfp.asia268
44msgfocus.com268
45_spf.acquia.com252
46mxlogin.com252
47spf.jabatus.fr243
48spf.tipalti.com240
49email.freshservice.com240
50google.com239
51smtp.groovehq.com234
52_netblocks2.google.com233
53spf.mailcluster.com.au232
54spf.webapps.net227
55hotmail.com226
56_netblocks3.google.com225
57spf.masterbase.com222
58bmsend.com221
59spf.migadu.com220
60emailus.freshservice.com219
61turbo-smtp.com219
62_spf.embluemail.com218
63webmail.ihs.com.tr214
64spf.hostingplatform.net.au212
65_spf.cenuta.com202
66mh.blackboard.com202
67_spf2.trwww.com199
68spf.unione.io192
69md02.com192
70spf.serveriai.lt190
71spf.mailanyone.net188
72_spf.syrahost.com184
73reflexion.net184
74outboundmail.convio.net182
75spf.maropost.com180
76_spf.amocrmmail.com179
77_spf.emfwd.name-services.com177
78_spf.site4now.net174
79spf.mailigen.com174
80spf.zixsmbhosted.com173
81spf.securemx.jp173
82gmail.com172
83justhost.com170
84appriver.com168
85getcourse.ru167
86spf.web-dns1.com166
87spf.forwardemail.net165
88spf.registeredsite.com164
89_spf-client-servers.sitesellmail.com163
90customer.mailguard.com.au158
91smtp-out.spf.superhosting.bg157
92_spf.transip.email155
93sender.zohoinvoice.com155
94_spf.ps.kz155
95spfhost.messageprovider.com154
96smtp1.uservoice.com154
97_spfnew.logix.in151
98spf.nl2go.com150
99mail.sent2mail.com148
100_spf.gestiondeservidor.net148

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.

2026-04-28 — 663 645 MX, 622 920 SPF2026-04-27 — 665 219 MX, 624 507 SPF2026-04-26 — 673 272 MX, 632 104 SPF2026-04-01 — 667 720 MX, 625 567 SPF2026-03-01 — 683 543 MX, 639 798 SPF2026-02-01 — 688 114 MX, 641 985 SPF2026-01-01 — 660 114 MX, 616 352 SPF2025-12-01 — 668 692 MX, 622 313 SPF2025-11-01 — 659 524 MX, 613 922 SPF2025-10-01 — 644 366 MX, 599 103 SPF2025-09-01 — 685 366 MX, 635 390 SPF2025-08-01 — 681 988 MX, 632 521 SPF2025-07-01 — 687 700 MX, 638 068 SPF2025-06-01 — 699 879 MX, 648 954 SPF2025-05-01 — 711 257 MX, 659 028 SPF2025-04-01 — 702 306 MX, 651 786 SPF2025-03-01 — 705 611 MX, 653 173 SPF2025-02-01 — 696 358 MX, 644 666 SPF2025-01-01 — 674 214 MX, 626 064 SPF2024-12-01 — 675 247 MX, 626 465 SPF2024-11-01 — 669 912 MX, 614 354 SPF2024-10-01 — 659 879 MX, 603 315 SPF2024-09-01 — 660 693 MX, 604 347 SPF2024-08-01 — 639 733 MX, 586 007 SPF2024-07-02 — 632 526 MX, 578 066 SPF2024-06-01 — 614 961 MX, 562 373 SPF2024-05-01 — 621 817 MX, 566 602 SPF2024-04-01 — 641 948 MX, 582 732 SPF2024-03-01 — 666 638 MX, 601 954 SPF2024-02-01 — 653 497 MX, 588 373 SPF2024-01-01 — 657 371 MX, 586 519 SPF2023-12-01 — 660 455 MX, 588 456 SPF2023-11-01 — 666 944 MX, 591 587 SPF2023-10-01 — 675 039 MX, 597 200 SPF2023-09-01 — 694 895 MX, 612 567 SPF2023-08-01 — 716 729 MX, 622 501 SPF2023-07-01 — 653 321 MX, 565 370 SPF2023-06-01 — 656 260 MX, 561 661 SPF2023-05-01 — 657 236 MX, 561 046 SPF2023-04-01 — 662 162 MX, 562 122 SPF2023-03-01 — 730 155 MX, 620 415 SPF2023-02-01 — 715 023 MX, 602 519 SPF2023-01-01 — 712 767 MX, 599 702 SPF2022-12-01 — 712 641 MX, 594 977 SPF2022-11-01 — 710 891 MX, 590 969 SPF2022-10-01 — 716 152 MX, 594 587 SPF2022-09-01 — 716 956 MX, 595 410 SPF2022-08-11 — 427 823 MX, 354 634 SPF2022-07-01 — 968 388 MX, 789 788 SPF2022-06-01 — 1 026 911 MX, 833 170 SPF2022-05-01 — 921 706 MX, 748 398 SPF2022-04-01 — 1 217 939 MX, 976 244 SPF2022-03-01 — 975 521 MX, 779 131 SPF
Data source: https://openintel.nl/data/forward-dns/top-lists/
Generated automatically from OpenINTEL Tranco snapshot 2022-02-01. Aggregates only — raw OpenINTEL data is deleted after analysis per their data agreement.
Last build: 2026-04-29T10:51:35Z.