Who uses what for email DAILY

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

632 526
Domains with MX
578 066
Domains with SPF
346 109
Domains with DMARC
632 526
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
1Unknown / Other178 20328.17%
2Google Workspace130 70220.66%
3Microsoft 36593 48114.78%
4Generic / unmatched (mail.*)91 43114.45%
5Generic / unmatched (mx*.*)53 8738.52%
6Yandex 36013 3492.11%
7Mimecast10 5991.68%
8Generic / unmatched (smtp.*)8 0451.27%
9Zoho Mail5 6910.9%
10Amazon WorkMail4 5990.73%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Mail.ru for Business4 4290.7%
12QQ Mail (Tencent)4 2940.68%
13OVH Mail3 9530.62%
14Cisco IronPort3 2270.51%
15Rackspace Email2 7150.43%
16Beget (RU)2 5640.41%
171&1 IONOS2 4270.38%
18Mailgun (inbound)2 2950.36%
19Alibaba Mail (China)1 5270.24%
20Gandi Mail1 5180.24%
21Hosted Email (Rackspace/IONOS)1 3970.22%
22FastMail1 3310.21%
23Zoho Mail (EU)1 2650.2%
24Titan (Hostinger)1 1460.18%
25Timeweb (RU)1 0480.17%
26ProtonMail1 0240.16%
27NetEase Mail9870.16%
28ImprovMX (forwarding)7300.12%
29Reg.ru6310.1%
30Zoho Mail (IN)6030.1%

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
52.42%
331 552 domains
Unique unmatched MX hosts
203 506
individual hostnames in the long tail
Self-hosted
25.69%
162 474 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 SES31 0315.37%
2SendGrid (Twilio)26 7484.63%
3Mailchimp24 3254.21%
4Mandrill23 4264.05%
5Zendesk22 8453.95%
6Mailgun21 7383.76%
7Salesforce14 1582.45%
8Mailjet (Sinch)10 8931.88%
9Brevo (ex-Sendinblue)7 3951.28%
10Marketo (Adobe)3 8790.67%
Show rows 11 – 30
#ESPDomainsShare of SPF-publishing domains
11Elastic Email3 8770.67%
12Unisender (RU)3 2930.57%
13SparkPost2 6580.46%
14Postmark2 5190.44%
15Salesforce Marketing Cloud2 0980.36%
16Constant Contact2 0200.35%
17Freshdesk1 6200.28%
18MailerSend1 1530.2%
19SMTP.com1 0850.19%
20Sailthru6900.12%
21SMTP.BZ6830.12%
22Customer.io5570.1%
23Eloqua (Oracle)3170.05%
24GetResponse2330.04%
25Intercom180.0%
26HubSpot140.0%
27Klaviyo70.0%
28Dotdigital40.0%
29AWeber30.0%
30MailPoet10.0%

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)6 0611.05%
2Shopify3 9500.68%
3KnowBe42 7490.48%
4Atlassian (Jira/Confluence)2 0150.35%
5Trustpilot1 7550.3%
6Firebase (Google)1 3220.23%
7Qualtrics1 0870.19%
8NetSuite (Oracle)1 0030.17%
9BigCommerce9700.17%
10Docebo (LMS)8870.15%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11ClickDimensions7300.13%
12ConnectWise7120.12%
13Oracle Cloud Email7050.12%
14Oracle Cloud6850.12%
15Lark / Feishu6680.12%
16PayPal Braintree6570.11%
17Sage Intacct6260.11%
18WordPress.com / WP Cloud6220.11%
19Autotask (ConnectWise)6160.11%
20Greenhouse6100.11%
21Zendesk4880.08%
22HappyFox4450.08%
23UKG / UltiPro4280.07%
24FormAssembly3470.06%
25Shoptet2950.05%
26Chargebee2770.05%
27Freshsales (Freshworks)2360.04%
28Odoo1900.03%
29Gorgias1800.03%
30Squarespace1240.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.23%90d ago▲ +1.86%1y ago▲ +4.28%

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;31 036
2v=DMARC1; p=none28 531
3v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com3 301
4v=DMARC1; p=quarantine;3 214
5v=DMARC1;p=none;3 179
6v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864003 089
7v=DMARC1; p=quarantine2 668
8v=DMARC1; p=none; rua=mailto:rua@dmarc.brevo.com2 590
9v=DMARC1; p=reject;2 534
10v=DMARC1; p=reject1 871
11v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 866
12v=DMARC1; p=none; aspf=r; adkim=r;1 814
13v=DMARC1; p=quarantine; adkim=s; aspf=s1 685
14v=DMARC1; p=none; aspf=r; sp=none1 642
15v=DMARC1; p=quarantine; pct=1001 562
16v=DMARC1;p=quarantine;pct=100;fo=11 408
17v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 397
18v=DMARC1;p=none1 349
19v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email1 326
20v=DMARC1; p=none; adkim=r; aspf=r;1 304
21v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=864001 124
22v=DMARC1; p=none; sp=none;1 066
23v=DMARC1; p=none; sp=none1 003
24v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;977
25v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email952
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1; p=none; pct=100785
27v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400629
28v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email607
29v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com601
30v=DMARC1; p=reject; pct=100561
31v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com547
32v=DMARC1; p=reject; rua=mailto:dmarc_report@mail.liamfactory.com; ruf=mailto:dmarc_report@mail.liamfactory.com; fo=1; pct=100540
33v=DMARC1; p=reject; pct=100;406
34v=DMARC1; p=none; pct=100;402
35v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400393
36v=DMARC1; p=reject; sp=reject; pct=100; fo=1; ri=3600; rua=mailto:dmarcrecord@gmail.com; ruf=mailto:dmarcrecord@gmail.com;380
37v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com373
38v=DMARC1;p=quarantine372
39v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;352
40v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;349
41v=DMARC1; p=reject; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com338
42v=DMARC1; p=none; fo=1317
43v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;316
44v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;313
45v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com307
46v=DMARC1; p=none; sp=none; adkim=r; aspf=r298
47v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1298
48v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s287
49v=DMARC1; p=quarantine; pct=100;286
50v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com279
51v=DMARC1;p=reject279
52v=DMARC1278
53v=DMARC1; p=quarantine; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com276
54v=DMARC1; p=none; adkim=r; aspf=r271
55v=DMARC1; p=reject; adkim=s; aspf=s;265
56v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com260
57v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400244
58v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1242
59v=DMARC1; p=none; rua=mailto:rua-mpse@mpub.ne.jp231
60v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;223
61v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100205
62v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com204
63v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com195
64v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com194
65v=DMARC1; p=reject; fo=1; ruf=mailto:dmarc@dbs.com193
66v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400192
67v=DMARC1; p=none; rua=mailto:dmarc@smtp.mailtrap.live; ruf=mailto:dmarc@smtp.mailtrap.live; rf=afrf; pct=100184
68v=DMARC1; p=none; fo=1; ri=3600; rua=mailto:procter-gamble@rua.dmp.cisco.com; ruf=mailto:procter-gamble@ruf.dmp.cisco.com183
69v=DMARC1; p=reject; adkim=r; aspf=r; pct=100;183
70v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400179
71v=DMARC1;p=reject;179
72v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl176
73v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1173
74v=DMARC1; p=none; rua=mailto:dmarc-rua@report.securemx.jp172
75v=DMARC1;p=none;rua=mailto:rua@dmarc.brevo.com168
76v=DMARC1; p=none; pct=100; rua=mailto:dmarc@fbl.optin.com;167
77v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;165
78v=DMARC1;p=none;pct=100;aspf=r;adkim=r;164
79v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400163
80v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1160
81v=DMARC1;p=quarantine;160
82v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf159
83v=DMARC1;""p=reject;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com156
84v=DMARC1;p=none;pct=100154
85v=DMARC1; p=reject; adkim=s; aspf=s149
86v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com145
87v=DMARC1; p=none; pct=100; adkim=r; aspf=r144
88v=DMARC1; p=none; fo=1;142
89v=DMARC1; p=quarantine; adkim=s; aspf=s;136
90v=DMARC1;p=quarantine;pct=100132
91v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:nexstar@rua.agari.com; ruf=mailto:nexstar@ruf.agari.com131
92v=DMARC1; p=none; pct=50;127
93v=DMARC1; p=none; aspf=r; adkim=r127
94v=DMARC1; p=none; rua=mailto:abuse@mailbiz.com.br; ruf=mailto:abuse@mailbiz.com.br124
95v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf121
96v=DMARC1;p=none;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com120
97v=DMARC1; p=quarantine; sp=quarantine116
98v=DMARC1; p=reject; pct=100; adkim=s; aspf=s116
99v=DMARC1;""p=none;116
100v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com114

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
1eforward1.registrar-servers.com9 434
2eforward4.registrar-servers.com9 434
3eforward5.registrar-servers.com9 425
4eforward2.registrar-servers.com9 424
5eforward3.registrar-servers.com9 409
6route1.mx.cloudflare.net5 184
7route3.mx.cloudflare.net5 183
8route2.mx.cloudflare.net5 182
9mailstore1.secureserver.net5 101
10smtp.secureserver.net5 091
11mc.planbnow.co4 577
12mx1.hostinger.com2 871
13mx2.hostinger.com2 845
14park-mx.above.com2 698
15mx1-us1.ppe-hosted.com2 140
16mx2-us1.ppe-hosted.com2 120
17mx2-hosting.jellyfish.systems1 871
18mx1-hosting.jellyfish.systems1 870
19mx3-hosting.jellyfish.systems1 861
20mx1.privateemail.com1 498
21nan1 489
22mx2.privateemail.com1 482
23mail.eye-mail.net1 297
24mx10.antispam.mailspamprotection.com1 092
25mx20.antispam.mailspamprotection.com1 092
Show rows 26 – 100
#MX targetDomains
26mx30.antispam.mailspamprotection.com1 092
27mx.a.locaweb.com.br1 045
28mx.b.locaweb.com.br1 039
29mx.jk.locaweb.com.br1 029
30isaac.mx.cloudflare.net956
31linda.mx.cloudflare.net955
32amir.mx.cloudflare.net955
33mx.core.locaweb.com.br922
34mx1.mailchannels.net922
35mx2.mailchannels.net917
36mx1.hostinger.in892
37mx2.hostinger.in875
38localhost873
39dmail.kagoya.net827
40us2.mx1.mailhostbox.com766
41us2.mx3.mailhostbox.com766
42us2.mx2.mailhostbox.com764
43mx.spamexperts.com703
44mx156.hostedmxserver.com687
45mx02.hornetsecurity.com678
46mxlb.ispgateway.de676
47mx01.hornetsecurity.com676
48mx1.csof.net668
49mx2.csof.net668
50mx03.hornetsecurity.com659
51mx04.hornetsecurity.com656
52fallbackmx.spamexperts.eu654
53lastmx.spamexperts.net643
54mx.securemx.jp616
55mx20.mailspamprotection.com608
56mx10.mailspamprotection.com607
57mx20.ukraine.com.ua605
58mx30.mailspamprotection.com603
59mx15.ukraine.com.ua602
60mx01.nicmail.ru529
61smtpin.rzone.de525
62mx02.nicmail.ru518
63mx03.nicmail.ru511
64mx.stackmail.com501
65za-smtp-inbound-1.mimecast.co.za498
66za-smtp-inbound-2.mimecast.co.za497
67mx.ukraine.com.ua468
68mx1.qiye.aliyun.com456
69mail.register.it452
70mx2.qiye.aliyun.com445
71mx3.qiye.aliyun.com440
72mail.h-email.net439
73mx1.forwardemail.net432
74mx2.forwardemail.net432
75mta-gw.infomaniak.ch409
76mx2.feishu.cn343
77mx1.feishu.cn342
78mx3.feishu.cn341
79mx002.netsol.xion.oxcs.net339
80mx001.netsol.xion.oxcs.net337
81mx01.lolipop.jp327
82mx-biz.mail.am0.yahoodns.net324
83mx1-eu1.ppe-hosted.com324
84mx2-eu1.ppe-hosted.com324
85mailstream-east.mxrecord.io306
86mx.serviciodecorreo.es306
87mx1.hostinger.com.br306
88mailstream-west.mxrecord.io304
89vlmx21.secure.ne.jp285
90vlmx22.secure.ne.jp285
91vlmx20.secure.ne.jp283
92mx2.hostinger.com.br283
93mx-01-us-west-2.prod.hydra.sophos.com267
94mailgw.nic.in266
95mx01.cloud.vadesecure.com265
96mx02.cloud.vadesecure.com263
97mx-02-us-west-2.prod.hydra.sophos.com263
98mx03.cloud.vadesecure.com262
99mx04.cloud.vadesecure.com262
100mx2.spaceweb.ru259

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.efwd.registrar-servers.com9 587
2_spf.mx.cloudflare.net6 487
3secureserver.net6 286
4zoho.com5 675
5relay.mailchannels.net5 523
6_spf.mail.hostinger.com4 360
7_spf.mlsend.com4 192
8mx.ovh.com4 157
9us._netblocks.mimecast.com3 864
10websitewelcome.com3 750
11emsd1.com3 496
12emailsrvr.com2 909
13helpscoutemail.com2 773
14beget.com2 772
15spf.mail.qq.com2 554
16spf.web-hosting.com2 394
17mxsspf.sendpulse.com2 266
18_spf.createsend.com2 255
19stspg-customer.com2 230
20spf.ess.barracudanetworks.com2 168
21zcsend.net2 015
22eu._netblocks.mimecast.com2 002
23spf.sender.xserver.jp1 960
24_spf-eu.ionos.com1 806
25_netblocks.mimecast.com1 788
Show rows 26 – 100
#SPF includeDomains
26spf.emailsignatures365.com1 683
27_spf.rdstation.com.br1 628
28transmail.net1 597
29musvc.com1 423
30spf.messagelabs.com1 345
31aspmx.googlemail.com1 342
32spf.messagingengine.com1 329
33_incspfcheck.mailspike.net1 324
34spf.mxhichina.com1 320
35spf.tmes.trendmicro.com1 292
36spf.exclaimer.net1 269
37_mailcust.gandi.net1 256
38spf.titan.email1 253
39spf.antispamcloud.com1 242
40_spf.locaweb.com.br1 229
41spf.crsend.com1 225
42spf.163.com1 100
43spf.dynect.net1 088
44netblocks.dreamhost.com1 083
45_spf.timeweb.ru1 040
46spf.securedserverspace.com1 032
47spf.smtp2go.com1 029
48kagoya.net1 005
49mxsmtp.sendpulse.com994
50_spf.kundenserver.de962
51_spf.jupiter.salesmanago.pl941
52spf2.esputnik.com932
53authsmtp.com928
54_spf.aruba.it911
55outboundmail.blackbaud.net903
56_spf.mailspamprotection.com896
57_spf.perfora.net880
58_spf.mailhostbox.com861
59spf-bma.mpme.jp858
60relay.mailbaby.net847
61_spf.ukraine.com.ua843
62spf.hornetsecurity.com823
63ispgateway.de759
64one.zoho.com751
65spfa.mailendo.com748
66cmail1.com747
67_spf.hosting.reg.ru743
68turbo-smtp.com685
69mailcontrol.com684
70_spf.kmitd.com684
71spf.improvmx.com682
72_spf.hostedemail.com680
73spf.ipzmarketing.com678
74_spf.emaillabs.net.pl667
75spf.brevo.com655
76au._netblocks.mimecast.com629
77spf.securemx.jp621
78zoho.in620
79spf.eu.exclaimer.net605
80spf.mail.intercom.io605
81spf.mindbox.ru600
82spf.afas.online588
83spf.mailanyone.net562
84spfgw.fsi.ne.jp562
85spf.bmv.jp561
86spf.webapps.net560
87spf.haihaimail.jp560
88agenturserver.de558
89e2ma.net555
90spf.qiye.aliyun.com553
91spf.hostmar.com550
92bluehost.com545
93spf.mysecurecloudhost.com545
94infusionmail.com538
95spf.nl2go.com534
96_spf.embluemail.com532
97spf.flowmailer.net530
98_auxspf.axspace.com526
99_spf.dashasender.ru525
100_netblocks.google.com512

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-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-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 SPF
Data source: https://openintel.nl/data/forward-dns/top-lists/
Generated automatically from OpenINTEL Tranco snapshot 2024-07-02. Aggregates only — raw OpenINTEL data is deleted after analysis per their data agreement.
Last build: 2026-04-28T19:20:09Z.