Who uses what for email DAILY

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

667 720
Domains with MX
625 567
Domains with SPF
448 100
Domains with DMARC
667 720
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-Hosted158 37723.72%
2Google Workspace143 30921.46%
3Microsoft 365111 05016.63%
4Unknown / Other49 6917.44%
5Generic / unmatched (mx*.*)18 4772.77%
6Proofpoint12 9191.93%
7Yandex 36011 7751.76%
8Generic / unmatched (mail.*)11 4921.72%
9Mimecast10 6381.59%
10Cloudflare Email Routing9 6431.44%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Hostinger7 2651.09%
12Namecheap Email Forwarding6 7711.01%
13Zoho Mail6 6771.0%
14GoDaddy5 0380.75%
15Amazon WorkMail4 8720.73%
16QQ Mail (Tencent)4 7970.72%
17OVH Mail4 6060.69%
18Mail.ru for Business3 9180.59%
19Barracuda3 7490.56%
201&1 IONOS3 3670.5%
21Cisco IronPort2 8890.43%
22Proofpoint Essentials2 7690.41%
23Jellyfish (Namecheap)2 5620.38%
24Rackspace Email2 4120.36%
25Mailgun (inbound)2 3140.35%
26SpamExperts (SolarWinds)2 2410.34%
27Beget (RU)2 1430.32%
28Alibaba Mail (China)1 8030.27%
29Zoho Mail (EU)1 7010.25%
30Namecheap PrivateEmail1 6440.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
12.09%
80 730 domains
Unique unmatched MX hosts
37 450
individual hostnames in the long tail
Self-hosted
23.75%
158 556 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
1Amazon SES37 8356.05%
2SendGrid (Twilio)29 7924.76%
3Mailgun25 2474.04%
4Zendesk24 1823.87%
5Mailchimp23 4653.75%
6Mandrill21 6073.45%
7Salesforce15 9272.55%
8Mailjet (Sinch)13 4172.14%
9Cloudflare Email Routing10 2011.63%
10Mimecast9 2561.48%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Brevo (ex-Sendinblue)8 6931.39%
12MailerSend7 8381.25%
13Namecheap Forwarding7 0041.12%
14MailChannels6 6601.06%
15Elastic Email4 4030.7%
16Unisender (RU)3 8170.61%
17Constant Contact3 6880.59%
18Marketo (Adobe)3 3920.54%
19Zoho Campaigns3 2570.52%
20Emsd1 (transactional)3 1210.5%
21SendPulse2 9440.47%
22Campaign Monitor2 8660.46%
23Postmark2 8250.45%
24SparkPost2 7230.44%
25Zoho ZeptoMail2 6820.43%
26Help Scout2 4090.39%
27Barracuda Essentials2 2790.36%
28Exclaimer (signatures)2 0150.32%
29RD Station (BR)1 7340.28%
30Salesforce Marketing Cloud1 7230.28%

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)5 1790.83%
2Shopify4 9400.79%
3CodeTwo Email Signatures 3654 5430.73%
4KnowBe43 4750.56%
5Statuspage (Atlassian)2 1780.35%
6Trustpilot1 9330.31%
7Atlassian (Jira/Confluence)1 9200.31%
8Firebase (Google)1 7250.28%
9BigCommerce1 3080.21%
10Lark / Feishu1 2940.21%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11NetSuite (Oracle)1 1550.18%
12Qualtrics1 1270.18%
13Sage Intacct1 0990.18%
14Oracle Cloud Email1 0170.16%
15Docebo (LMS)9420.15%
16WordPress.com / WP Cloud9070.14%
17Oracle Cloud8270.13%
18Greenhouse6400.1%
19ClickDimensions6060.1%
20PayPal Braintree6020.1%
21Autotask (ConnectWise)5400.09%
22ConnectWise5370.09%
23UKG / UltiPro5170.08%
24Zendesk4410.07%
25FormAssembly4260.07%
26HappyFox4170.07%
27Shoptet4080.07%
28Odoo3840.06%
29Umantis (Haufe HR)3830.06%
30Chargebee3280.05%

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%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;54 548
2v=DMARC1; p=none32 193
3v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com8 035
4v=DMARC1; p=quarantine;4 638
5v=DMARC1;p=none;3 903
6v=DMARC1; p=quarantine3 812
7v=DMARC1; p=reject;3 587
8v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 365
9v=DMARC1; p=quarantine; adkim=s; aspf=s3 281
10v=DMARC1; p=reject2 733
11v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;2 615
12v=DMARC1; p=quarantine; pct=1002 418
13v=DMARC1; p=none; aspf=r; adkim=r;2 365
14v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864002 246
15v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 770
16v=DMARC1;p=none1 752
17v=DMARC1; p=none; aspf=r; sp=none1 699
18v=DMARC1; p=none; adkim=r; aspf=r;1 502
19v=DMARC1;p=quarantine;pct=100;fo=11 387
20v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 353
21v=DMARC1;p=reject;1 347
22v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;1 265
23v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 235
24v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email1 198
25v=DMARC1; p=reject; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;1 129
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;1 097
27v=DMARC1; p=none; sp=none;1 084
28v=DMARC1; p=none; sp=none1 083
29v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 053
30v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com848
31v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email755
32v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s735
33v=DMARC1; p=none; pct=100723
34v=DMARC1; p=reject; pct=100711
35v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400634
36v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com611
37v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com595
38v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com593
39v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400575
40v=DMARC1;p=quarantine511
41v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com478
42v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;473
43v=DMARC1; p=quarantine; pct=100;459
44v=DMARC1; p=reject; pct=100;433
45v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;427
46v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s423
47v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1399
48v=DMARC1; p=none; sp=none; adkim=r; aspf=r384
49v=DMARC1; p=none; adkim=r; aspf=r377
50v=DMARC1; p=reject; adkim=s; aspf=s;371
51v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com355
52v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;354
53v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100343
54v=DMARC1;p=reject342
55v=DMARC1; p=none; pct=100;336
56v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400334
57v=DMARC1; p=none; fo=1334
58v=DMARC1317
59v=DMARC1;p=quarantine;301
60v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;299
61v=DMARC1; p=reject; rua=mailto:zsrbf6su@ag.eu.dmarcadvisor.com;288
62v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1270
63v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com267
64v=DMARC1; p=reject; adkim=s; aspf=s258
65v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;257
66v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400256
67v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com256
68v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net; adkim=r; aspf=r;255
69v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net;247
70v=DMARC1;p=none;pct=100246
71v=DMARC1; p=none; aspf=r; adkim=r246
72v=DMARC1; p=quarantine; adkim=r; aspf=r238
73v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp227
74v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com225
75v=DMARC1; p=quarantine; adkim=s; aspf=s;224
76v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com212
77v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;210
78v=DMARC1; p=reject; rua=mailto:tnoff9hr@ag.eu.dmarcadvisor.com; aspf=s; adkim=s;206
79v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100200
80v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl199
81v=DMARC1; p=reject; sp=reject193
82v=DMARC1; p=none; pct=100; rua=mailto:dmarc@fbl.optin.com;191
83v=DMARC1; p=quarantine; rua=mailto:rua@dmarc.brevo.com187
84v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com185
85v=DMARC1;p=none;pct=100;aspf=r;adkim=r;179
86v=DMARC1; p=quarantine; pct=100; rua=mailto:61e7fc8674b33@ag.eu.dmarcly.com; ruf=mailto:61e7fc8674b33@fo.eu.dmarcly.com; sp=quarantine; fo=1;176
87v=DMARC1; p=none; rua=mailto:dmarc@reporting.unisender.com175
88v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;173
89v=DMARC1; p=quarantine; fo=1171
90v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400170
91v=DMARC1; p=none; rua=mailto:dmarc.rua@edrone.app; ruf=mailto:dmarc.ruf@edrone.app168
92v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400167
93v=DMARC1;p=reject;pct=100;166
94v=DMARC1;p=reject;pct=100160
95v=DMARC1; p=reject; pct=100; adkim=s; aspf=s159
96v=DMARC1; p=none; pct=50;155
97v=DMARC1;""p=none;""rua=mailto:dmarc_agg@vali.email154
98v=DMARC1; p=reject; rua=mailto:2ynhg3yt@ag.dmarcian.com154
99v=DMARC1; p=none; pct=100; adkim=r; aspf=r153
100v=DMARC1; p=reject; aspf=s153

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
1nan2 646
2mx-biz.mail.am0.yahoodns.net307
3mail273
4localhost256
5offline.iserv.eu241
6mx.services238
7asapsemi1.mail.protection.office365.us217
8mx01.1and1.com195
9~193
10mx00.1and1.com190
11zonemx.eu178
12mail1.sbnation.com171
13mx.email-messaging.com140
14mail.autoline.com.ua134
15mx2.z-ns.net133
16s.mail.dcsaas.net129
17alltheemails.com126
18relay2.netnames.net123
19relay1.netnames.net121
20se.mx1.mailanyone.net117
21se.mx2.mx25.net117
22uk.mx1.mailanyone.net117
23uk.mx2.mx25.net117
24uk.mx3.mailanyone.net115
25mx.simply.com114
Show rows 26 – 100
#MX targetDomains
26se.mx3.mailanyone.net112
27mx00.1and1.co.uk112
28se.mx4.mx25.net111
29mxi.alpha-prm.jp111
30mailin.mx-hub.cz111
31mailin.mx-hub.sk111
32uk.mx4.mx25.net110
33mx01.1and1.co.uk110
34mx10.websupport.sk108
35mx20.websupport.sk108
36mwpremgw1.ocn.ad.jp108
37mwpremgw2.ocn.ad.jp107
38mailin.mx-hub.eu106
39cloudmail.auto-vision.ru104
40mx240.umbler.co.uk104
41mx01.lancloud.ru104
42mx364.umbler.com103
43mx02.lancloud.ru103
44mx1.cleanmx.pt103
45mx04.lancloud.ru102
46mx2.cleanmx.pt102
47mx1d10.thinline.cz101
48mx03.lancloud.ru101
49mx.zoho.com.cn100
50mx1b20.thinline.cz100
51mx2.zoho.com.cn99
52mx.zoho.com.au98
53mx2.zoho.com.au98
54mx1.ticketsinbound.com97
55mx3.zoho.com.au96
56mx2.ticketsinbound.com95
57smtp-fwd.wordpress.com94
58mx01.mailplug.com94
59mx02.mailplug.com93
60mail.global.frontbridge.com91
61mx.hetemail.jp87
62void.blackhole.mx87
63amazon-smtp.amazon.com87
64gmail22.gadmail.de87
65gmail23.gadmail.de87
66wmail22.gadmail.de87
67mx.maxns.net86
68mx1.email-cluster.com86
69mx2.email-cluster.com86
70wmail23.gadmail.de86
71mx-backup.serveriai.lt85
72failover1.email-cluster.com83
73antispam1.ihs.com.tr82
74antispam2.ihs.com.tr82
75mx.vshosting.eu82
76mailforward.dnsv.jp82
77mx1.netim.net81
78mx2.netim.net81
79posta.mediacenter.hu80
80posta2.mediacenter.hu80
81posta4.mediacenter.hu80
82posta5.mediacenter.hu80
83rmail22.gadmail.de80
84rmail23.gadmail.de80
85posta3.mediacenter.hu79
86omail22.gadmail.de79
87omail23.gadmail.de79
88mx1-dk.centerasecurity.dk78
89mx2-dk.centerasecurity.dk78
90mx.aams4.jp78
91mx4.name.com77
92mx3.name.com77
93mx6.name.com76
94mx5.name.com76
95mx8.name.com76
96mxint01.1and1.com76
97mxint02.1and1.com76
98mx1.atmosphere.facct.ru76
99mx2.atmosphere.facct.ru76
100mx-01.mail-forwarder.io76

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.nl2go.com707
2spf.improvmx.com702
3cmail1.com673
4spf.flowmailer.net666
5spf.bmv.jp657
6spf.afas.online655
7spf.kasserver.com644
8spf.webapps.net639
9spf.unisender.ru635
10spf.sendsay.ru634
11spf.mindbox.ru628
12spf.securemx.jp617
13turbo-smtp.com603
14spf.us.exclaimer.net595
15spfgw.fsi.ne.jp584
16spf.uk.exclaimer.net565
17spf.hostmar.com560
18spf.haihaimail.jp557
19_spf.smtp.mailtrap.live554
20bluehost.com553
21spf.jabatus.fr552
22_auxspf.axspace.com545
23_spf.transip.email528
24_spf.embluemail.com524
25spf.mail.intercom.io522
Show rows 26 – 100
#SPF includeDomains
26spf.a2hosting.com517
27email-messaging.com514
28_netblocks.google.com504
29_spf.m1.websupport.sk501
30spf.mailanyone.net496
31zeptomail.net494
32sender.zohobooks.com491
33mailcontrol.com490
34email-od.com487
35spf.migadu.com481
36spf.topdesk.net481
37e2ma.net478
38fdspfus.freshemail.io475
39_spf.strato.com473
40icloud.com467
41spf.cloudus.oxcs.net462
42spf.mta.hdems.com461
43_spf.act-on.net450
44_netblocks2.google.com435
45mxroute.com435
46msgfocus.com423
47_spf.cyberfolks.pl423
48spf.smartemailing.cz420
49_netblocks3.google.com416
50_spf.zimpel.de415
51email.ncloud.com413
52smtp-out.spf.superhosting.bg412
53spf.autopilothq.com402
54infusionmail.com395
55_spfprod.ngpvan.com394
56mxlogin.com391
57mailbox.org388
58_spf.serviciodecorreo.es387
59webcas.net386
60_spf.activegate-ss.jp378
61fdspfeuc.freshemail.io375
62spf.protection.office365.us373
63spf.fromdoppler.com369
64spf.mail.selcloud.ru369
65spf.makeshop.jp365
66spf.q-send.jp364
67spf.zohomail360.com362
68_spf.anpdm.com358
69_spf-us.ppe-hosted.com353
70spf.registeredsite.com349
71outlook.com347
72spf.ecbeing.co.jp344
73spf.lianamailer.com342
74google.com342
75spf.turbo-smtp.com339
76spf.serveriai.lt339
77spf.ess.uk.barracudanetworks.com334
78bmsend.com334
79newsman.app334
80spf.repica.jp328
81send.aweber.com325
82crmstyle.com325
83spf.icoremail.net323
84icpbounce.com322
85_spf.prod.hydra.sophos.com319
86zohomail.in319
87136224628.spf2.netcorecloud.net319
88outboundmail.convio.net314
89_spf.amocrmmail.com311
90relay.kinstamailservice.com311
91mail.stibee.com310
92nicmail.ru309
93spf.unione.io308
94spf.server-he.de307
95spf.masterbase.com302
96_spf.daum.net298
97_spf.sendergen.com296
98spf.mailganer.com292
99mgovcloud.in291
100_spf.messagegears.net290

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-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 SPF
Data source: https://openintel.nl/data/forward-dns/top-lists/
Generated automatically from OpenINTEL Tranco snapshot 2026-04-01. Aggregates only — raw OpenINTEL data is deleted after analysis per their data agreement.
Last build: 2026-04-29T09:52:25Z.