Who uses what for email DAILY

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

665 219
Domains with MX
624 507
Domains with SPF
452 092
Domains with DMARC
665 219
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 17 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 / Other173 33126.06%
2Google Workspace143 33321.55%
3Microsoft 365110 88516.67%
4Generic / unmatched (mail.*)89 14513.4%
5Generic / unmatched (mx*.*)60 5099.1%
6Yandex 36012 0931.82%
7Mimecast10 0531.51%
8Generic / unmatched (smtp.*)7 5341.13%
9Zoho Mail6 6711.0%
10QQ Mail (Tencent)4 8260.73%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Amazon WorkMail4 8160.72%
12OVH Mail4 5100.68%
13Mail.ru for Business4 0120.6%
141&1 IONOS3 3110.5%
15Cisco IronPort2 8630.43%
16Mailgun (inbound)2 3620.36%
17Rackspace Email2 3610.35%
18Beget (RU)2 2690.34%
19Alibaba Mail (China)1 7910.27%
20Zoho Mail (EU)1 7060.26%
21Hosted Email (Rackspace/IONOS)1 6250.24%
22FastMail1 5900.24%
23ProtonMail1 5740.24%
24Gandi Mail1 4460.22%
25Timeweb (RU)1 4190.21%
26NetEase Mail1 3240.2%
27Titan (Hostinger)1 1140.17%
28CSC (corporate)1 0090.15%
29Zoho Mail (IN)9980.15%
30Reg.ru8050.12%

Trend — last 17 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.69%
330 519 domains
Unique unmatched MX hosts
197 442
individual hostnames in the long tail
Self-hosted
23.24%
154 624 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 SES38 0536.09%
2SendGrid (Twilio)29 8724.78%
3Mailgun25 3194.05%
4Zendesk24 0583.85%
5Mailchimp23 3763.74%
6Mandrill21 4433.43%
7Salesforce16 1242.58%
8Mailjet (Sinch)13 3542.14%
9Brevo (ex-Sendinblue)6 7791.09%
10Elastic Email4 3490.7%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Unisender (RU)3 9490.63%
12Marketo (Adobe)3 3820.54%
13Postmark2 8820.46%
14SparkPost2 7330.44%
15MailerSend1 8440.3%
16Constant Contact1 8240.29%
17Salesforce Marketing Cloud1 6930.27%
18Freshdesk1 5550.25%
19SMTP.com1 2290.2%
20SMTP.BZ7510.12%
21GetResponse6480.1%
22Sailthru6390.1%
23Customer.io4650.07%
24Eloqua (Oracle)2740.04%
25HubSpot540.01%
26Klaviyo420.01%
27Intercom360.01%
28MailPoet90.0%
29Omnisend80.0%
30ConvertKit70.0%

Trend — last 17 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 1270.82%
2Shopify5 0160.8%
3KnowBe43 5060.56%
4Trustpilot1 9190.31%
5Atlassian (Jira/Confluence)1 9100.31%
6Firebase (Google)1 7360.28%
7Lark / Feishu1 2410.2%
8BigCommerce1 2370.2%
9NetSuite (Oracle)1 1590.19%
10Qualtrics1 1250.18%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Sage Intacct1 1100.18%
12Oracle Cloud Email1 0400.17%
13Docebo (LMS)9470.15%
14WordPress.com / WP Cloud8950.14%
15Oracle Cloud8370.13%
16Greenhouse6490.1%
17PayPal Braintree6000.1%
18ClickDimensions6000.1%
19Autotask (ConnectWise)5370.09%
20UKG / UltiPro5260.08%
21ConnectWise5200.08%
22Zendesk4310.07%
23FormAssembly4240.07%
24HappyFox4110.07%
25Odoo3940.06%
26Shoptet3790.06%
27Chargebee3300.05%
28Freshsales (Freshworks)1990.03%
29Gorgias1490.02%
30Squarespace1210.02%

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

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

Trend — last 17 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 927
2v=DMARC1; p=none31 762
3v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com8 043
4v=DMARC1; p=quarantine;4 763
5v=DMARC1; p=quarantine3 902
6v=DMARC1;p=none;3 776
7v=DMARC1; p=reject;3 676
8v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 287
9v=DMARC1; p=quarantine; adkim=s; aspf=s3 208
10v=DMARC1; p=reject2 869
11v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;2 706
12v=DMARC1; p=quarantine; pct=1002 349
13v=DMARC1; p=none; aspf=r; adkim=r;2 268
14v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864002 134
15v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 822
16v=DMARC1; p=none; aspf=r; sp=none1 765
17v=DMARC1;p=none1 731
18v=DMARC1; p=none; adkim=r; aspf=r;1 465
19v=DMARC1;p=quarantine;pct=100;fo=11 367
20v=DMARC1;p=reject;1 326
21v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;1 302
22v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 293
23v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email1 233
24v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 219
25v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;1 064
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; sp=none1 063
27v=DMARC1; p=reject; adkim=r; aspf=r; rua=mailto:dmarc_rua@onsecureserver.net;1 057
28v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 042
29v=DMARC1; p=none; sp=none;1 040
30v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc.report@axa.com;986
31v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com886
32v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s880
33v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email790
34v=DMARC1; p=reject; rua=mailto:dmarc.report@axa.com;761
35v=DMARC1; p=none; pct=100701
36v=DMARC1; p=reject; pct=100696
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.com616
39v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com604
40v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com582
41v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400571
42v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:ewai10d2@ag.eu.dmarcian.com; ruf=mailto:ewai10d2@fr.eu.dmarcian.com555
43v=DMARC1;p=quarantine511
44v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;501
45v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com480
46v=DMARC1; p=quarantine; pct=100;470
47v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s463
48v=DMARC1; p=reject; pct=100;443
49v=DMARC1; p=reject; rua=mailto:dmarc_rua@onsecureserver.net; adkim=r; aspf=r;437
50v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;435
51v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1384
52v=DMARC1; p=reject; adkim=s; aspf=s383
53v=DMARC1; p=none; sp=none; adkim=r; aspf=r376
54v=DMARC1; p=none; adkim=r; aspf=r362
55v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;361
56v=DMARC1; p=reject; adkim=s; aspf=s;358
57v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com354
58v=DMARC1;p=reject343
59v=DMARC1; p=reject; rua=mailto:zsrbf6su@ag.eu.dmarcadvisor.com;341
60v=DMARC1; p=none; pct=100;335
61v=DMARC1327
62v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400326
63v=DMARC1; p=none; fo=1325
64v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100324
65v=DMARC1; p=reject; rua=mailto:tnoff9hr@ag.eu.dmarcadvisor.com; aspf=s; adkim=s;313
66v=DMARC1;p=quarantine;311
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.com270
70v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400267
71v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;260
72v=DMARC1; p=none; aspf=r; adkim=r251
73v=DMARC1;p=none;pct=100249
74v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com245
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.com234
77v=DMARC1; p=quarantine; adkim=s; aspf=s;226
78v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp226
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.com205
82v=DMARC1; p=quarantine; adkim=r; aspf=r202
83v=DMARC1; p=reject; sp=reject197
84v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl191
85v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100188
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;184
88v=DMARC1;""p=none;""rua=mailto:dmarc_agg@vali.email183
89v=DMARC1;p=none;pct=100;aspf=r;adkim=r;179
90v=DMARC1; p=none; rua=mailto:dmarc@reporting.unisender.com178
91v=DMARC1;p=reject;pct=100;176
92v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:lufthansa@rua.agari.com;175
93v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com171
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=86400171
96v=DMARC1; p=reject; pct=100; adkim=s; aspf=s170
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=100157

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
1route1.mx.cloudflare.net9 148
2route3.mx.cloudflare.net9 146
3route2.mx.cloudflare.net9 144
4eforward5.registrar-servers.com6 578
5eforward1.registrar-servers.com6 577
6eforward4.registrar-servers.com6 573
7eforward2.registrar-servers.com6 571
8eforward3.registrar-servers.com6 564
9mx1.hostinger.com5 862
10mx2.hostinger.com5 850
11smtp.secureserver.net4 948
12mailstore1.secureserver.net4 941
13nan4 409
14mx2-hosting.jellyfish.systems2 401
15mx3-hosting.jellyfish.systems2 393
16mx1-hosting.jellyfish.systems2 382
17mx1-us1.ppe-hosted.com2 085
18mx2-us1.ppe-hosted.com2 067
19mx20.antispam.mailspamprotection.com1 828
20mx10.antispam.mailspamprotection.com1 827
21mx30.antispam.mailspamprotection.com1 825
22mx1.privateemail.com1 705
23mx2.privateemail.com1 691
24park-mx.above.com1 320
25mx01.hornetsecurity.com1 234
Show rows 26 – 100
#MX targetDomains
26mx02.hornetsecurity.com1 227
27mx03.hornetsecurity.com1 197
28mx04.hornetsecurity.com1 188
29smtpin.rzone.de1 050
30mx1.mailchannels.net994
31mx2.mailchannels.net989
32mx.stackmail.com972
33isaac.mx.cloudflare.net927
34amir.mx.cloudflare.net925
35linda.mx.cloudflare.net925
36mx1.qiye.aliyun.com897
37mx.a.locaweb.com.br880
38mx2.qiye.aliyun.com878
39mx.b.locaweb.com.br871
40mx.jk.locaweb.com.br868
41mx3.qiye.aliyun.com866
42mx.core.locaweb.com.br786
43mx2.feishu.cn719
44mx.spamexperts.com719
45mx1.feishu.cn717
46mx3.feishu.cn717
47fallbackmx.spamexperts.eu706
48lastmx.spamexperts.net698
49mta-gw.infomaniak.ch673
50us2.mx3.mailhostbox.com659
51us2.mx1.mailhostbox.com655
52us2.mx2.mailhostbox.com654
53mx1.csof.net652
54mx2.csof.net652
55mx.securemx.jp622
56mx1.hostinger.in615
57mxlb.ispgateway.de612
58mx2.hostinger.in607
59za-smtp-inbound-1.mimecast.co.za588
60za-smtp-inbound-2.mimecast.co.za586
61dmail.kagoya.net554
62mx01.nicmail.ru496
63mx1.forwardemail.net495
64mx15.ukraine.com.ua491
65mx20.ukraine.com.ua491
66mx2.forwardemail.net489
67mx02.nicmail.ru485
68mx10.mailspamprotection.com484
69mx03.nicmail.ru483
70mx20.mailspamprotection.com483
71mx30.mailspamprotection.com475
72mail.register.it433
73mailstream-east.mxrecord.io424
74mailstream-west.mxrecord.io423
75mx156.hostedmxserver.com415
76mailstream-central.mxrecord.mx408
77mx.ukraine.com.ua386
78mx001.netsol.xion.oxcs.net386
79mx002.netsol.xion.oxcs.net386
80mx.serviciodecorreo.es385
81mx1-eu1.ppe-hosted.com377
82mx2-eu1.ppe-hosted.com373
83mx2.larksuite.com366
84mx1.larksuite.com365
85mx3.larksuite.com364
86mxext1.mailbox.org355
87mxext2.mailbox.org353
88mx01.udag.de352
89mx00.udag.de351
90localhost347
91mxext3.mailbox.org346
92mx2.spaceweb.ru345
93mx1.spaceweb.ru344
94mx-01-eu-central-1.prod.hydra.sophos.com343
95mx.mgovcloud.in342
96mx.plingest.com341
97mx2.mgovcloud.in340
98mx3.mgovcloud.in340
99mx01.lolipop.jp337
100mx-02-eu-central-1.prod.hydra.sophos.com335

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.net10 547
2secureserver.net8 352
3_spf.mail.hostinger.com7 222
4spf.efwd.registrar-servers.com6 773
5relay.mailchannels.net6 635
6_spf.mlsend.com6 204
7zoho.com5 120
8mx.ovh.com5 006
9websitewelcome.com3 999
10us._netblocks.mimecast.com3 631
11emsd1.com3 100
12spf.mail.qq.com2 985
13_spf.createsend.com2 870
14spf.web-hosting.com2 853
15emailsrvr.com2 809
16_spf-eu.ionos.com2 645
17mxsspf.sendpulse.com2 490
18beget.com2 488
19helpscoutemail.com2 408
20zcsend.net2 380
21stspg-customer.com2 174
22eu._netblocks.mimecast.com2 130
23spf.brevo.com2 020
24zohomail.com2 014
25spf.sender.xserver.jp2 014
Show rows 26 – 100
#SPF includeDomains
26spf.ess.barracudanetworks.com1 995
27spf.crsend.com1 760
28transmail.net1 751
29_spf.rdstation.com.br1 731
30spf.messagingengine.com1 669
31spf.emailsignatures365.com1 606
32spf.mxhichina.com1 550
33_spf.timeweb.ru1 505
34musvc.com1 498
35spf.163.com1 496
36spf.hornetsecurity.com1 454
37_spf.hostedemail.com1 446
38spf.mysecurecloudhost.com1 343
39spf.antispamcloud.com1 335
40spfa.cpmails.com1 307
41relay.mailbaby.net1 302
42_mailcust.gandi.net1 301
43one.zoho.com1 295
44_netblocks.mimecast.com1 265
45spf.titan.email1 243
46netblocks.dreamhost.com1 207
47aspmx.googlemail.com1 199
48spf.exclaimer.net1 192
49_spf.kundenserver.de1 178
50_incspfcheck.mailspike.net1 137
51_spf.aruba.it1 122
52spf.tmes.trendmicro.com1 116
53spf-de.emailsignatures365.com1 088
54_spf.perfora.net1 080
55spf2.esputnik.com1 073
56spf.smtp2go.com1 070
57spf.qiye.aliyun.com1 062
58spf.messagelabs.com1 060
59_spf.jupiter.salesmanago.pl1 047
60outboundmail.blackbaud.net1 036
61_spf.locaweb.com.br1 035
62_spf.hosting.reg.ru985
63spf.stackmail.com976
64authsmtp.com974
65ispgateway.de955
66spf.ipzmarketing.com930
67_spf.ukraine.com.ua910
68spf-bma.mpme.jp901
69spf.dynect.net870
70zoho.in860
71spf.securedserverspace.com854
72spfa.mailendo.com854
73agenturserver.de853
74_spf.emaillabs.net.pl845
75spf.infomaniak.ch818
76spf.eu.exclaimer.net813
77de._netblocks.mimecast.com775
78_spf.mailhostbox.com770
79mxsmtp.sendpulse.com763
80eu.zcsend.net753
81usb._netblocks.mimecast.com733
82_spf.mailspamprotection.com732
83_spf.dashasender.ru716
84_spf.kmitd.com703
85zohomail.eu698
86kagoya.net697
87spf.flowmailer.net688
88sendersrv.com686
89spf.nl2go.com681
90_spf-us.ionos.com677
91spf.improvmx.com674
92cmail1.com670
93spf.afas.online661
94eu.transmail.net660
95spf.unisender.ru658
96spf.bmv.jp657
97spf.sendsay.ru656
98spf.securemx.jp632
99spf.mindbox.ru632
100spf.kasserver.com630

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