Who uses what for email DAILY

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

657 236
Domains with MX
561 046
Domains with SPF
220 251
Domains with DMARC
657 236
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 / Other184 93128.14%
2Google Workspace131 30319.98%
3Generic / unmatched (mail.*)99 74615.18%
4Microsoft 36586 80113.21%
5Generic / unmatched (mx*.*)59 4119.04%
6Yandex 36016 3812.49%
7Mimecast11 9371.82%
8Generic / unmatched (smtp.*)9 4871.44%
9QQ Mail (Tencent)6 1100.93%
10Zoho Mail5 8130.88%
Show rows 11 – 30
#Mailbox providerDomainsShare of MX-having domains
11Mail.ru for Business4 1400.63%
12OVH Mail3 8490.59%
13Rackspace Email3 7840.58%
14Amazon WorkMail3 5260.54%
15Beget (RU)3 3390.51%
16Cisco IronPort3 1390.48%
171&1 IONOS2 6390.4%
18Alibaba Mail (China)1 9870.3%
19Mailgun (inbound)1 8260.28%
20Gandi Mail1 6980.26%
21Hosted Email (Rackspace/IONOS)1 6600.25%
22Timeweb (RU)1 4170.22%
23FastMail1 2990.2%
24Zoho Mail (EU)1 2770.19%
25Titan (Hostinger)1 2200.19%
26CSC (corporate)1 1950.18%
27NetEase Mail1 0920.17%
28ImprovMX (forwarding)1 0730.16%
29ProtonMail8570.13%
30Reg.ru7860.12%

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
53.8%
353 575 domains
Unique unmatched MX hosts
227 953
individual hostnames in the long tail
Self-hosted
28.08%
184 532 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
1Mailchimp26 0084.64%
2Amazon SES23 5794.2%
3Mandrill23 1064.12%
4SendGrid (Twilio)21 6193.85%
5Zendesk18 8473.36%
6Mailgun17 5303.12%
7Salesforce11 2862.01%
8Mailjet (Sinch)8 3301.48%
9Brevo (ex-Sendinblue)7 1361.27%
10Marketo (Adobe)4 0400.72%
Show rows 11 – 29
#ESPDomainsShare of SPF-publishing domains
11Elastic Email3 3150.59%
12Unisender (RU)3 0360.54%
13Postmark2 4340.43%
14Constant Contact2 2450.4%
15SparkPost2 1770.39%
16Freshdesk1 6370.29%
17Salesforce Marketing Cloud1 4940.27%
18SMTP.com9300.17%
19Sailthru6740.12%
20Customer.io5730.1%
21MailerSend5350.1%
22SMTP.BZ4760.08%
23Eloqua (Oracle)3400.06%
24GetResponse2120.04%
25Intercom160.0%
26HubSpot80.0%
27AWeber20.0%
28MailPoet10.0%
29Help Scout10.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 7571.2%
2Shopify3 7130.66%
3KnowBe42 3520.42%
4Atlassian (Jira/Confluence)1 9040.34%
5Trustpilot1 3650.24%
6Firebase (Google)1 1390.2%
7BigCommerce1 0290.18%
8NetSuite (Oracle)9810.17%
9Qualtrics9160.16%
10ClickDimensions9100.16%
Show rows 11 – 30
#SaaS appDomainsShare of SPF-publishing domains
11Docebo (LMS)7350.13%
12PayPal Braintree6470.12%
13ConnectWise6330.11%
14Greenhouse5220.09%
15Zendesk5160.09%
16Sage Intacct4650.08%
17Autotask (ConnectWise)4350.08%
18Oracle Cloud3760.07%
19HappyFox3310.06%
20Oracle Cloud Email3240.06%
21Lark / Feishu3020.05%
22UKG / UltiPro2960.05%
23Squarespace2740.05%
24Freshsales (Freshworks)2560.05%
25Chargebee2080.04%
26FormAssembly1910.03%
27Gorgias1910.03%
28Odoo1420.03%
29Recurly1240.02%
30Shoptet1020.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=none20 028
2v=DMARC1; p=none;6 104
3v=DMARC1; p=none; sp=none; rua=mailto:dmarc@mailinblue.com!10m; ruf=mailto:dmarc@mailinblue.com!10m; rf=afrf; pct=100; ri=864003 517
4v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com2 604
5v=DMARC1; p=quarantine2 178
6v=DMARC1; p=quarantine;1 938
7v=DMARC1; p=none; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com1 895
8v=DMARC1; p=none; aspf=r; sp=none1 691
9v=DMARC1; p=reject;1 495
10v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;1 479
11v=DMARC1; p=reject1 461
12v=DMARC1; p=reject; rua=mailto:dmarc_report@mail.liamfactory.com; ruf=mailto:dmarc_report@mail.liamfactory.com; fo=1; pct=1001 046
13v=DMARC1; p=quarantine; pct=1001 033
14v=DMARC1;p=quarantine;pct=100;fo=11 029
15v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email;920
16v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email911
17v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email801
18v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400791
19v=DMARC1; p=none; sp=none783
20v=DMARC1;p=reject;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com778
21v=DMARC1; p=none; sp=none;764
22v=DMARC1; p=none; sp=none; rf=afrf; pct=100; ri=86400748
23v=DMARC1; p=none; fo=1; ruf=mailto:dmarc@qiye.163.com; rua=mailto:dmarc_report@qiye.163.com717
24v=DMARC1;p=none634
25v=DMARC1; p=none; pct=100565
Show rows 26 – 100
#DMARC recordDomains
26v=DMARC1;p=none;539
27v=DMARC1; p=reject; rua=mailto:mailauth-reports@google.com510
28v=DMARC1;p=none;sp=none;adkim=r;aspf=r;pct=100435
29v=DMARC1; p=reject; pct=100415
30v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email396
31v=DMARC1;p=quarantine;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400336
32v=DMARC1; p=reject; rua=mailto:report@dmarc.amazon.com; ruf=mailto:report@dmarc.amazon.com283
33v=DMARC1; p=none; fo=1270
34v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email;259
35v=DMARC1; p=none; rua=mailto:mailauth-reports@qq.com253
36v=DMARC1; p=reject; sp=none; rf=afrf; pct=100; ri=86400249
37v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1237
38v=DMARC1231
39v=DMARC1;p=quarantine228
40v=DMARC1; p=reject; rua=mailto:zicaptxt@ag.dmarcian.com;212
41v=DMARC1;p=reject210
42v=DMARC1; p=quarantine; rua=mailto:dmarc_agg@vali.email;209
43v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com;fo=1207
44v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1205
45v=DMARC1; p=quarantine; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com203
46v=DMARC1; p=quarantine; adkim=s; aspf=s198
47v=DMARC1;p=none;pct=100;rua=mailto:dmarc@smtpeter.com190
48v=DMARC1; p=quarantine; pct=100;186
49v=DMARC1; p=none; pct=100;184
50v=DMARC1; p=quarantine; sp=none; rf=afrf; pct=100; ri=86400181
51v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400180
52v=DMARC1; adkim=s; aspf=s; p=quarantine175
53v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-reports@bounces.amazon.com; ruf=mailto:dmarc-reports@bounces.amazon.com174
54v=DMARC1; p=none; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com; fo=1166
55v=DMARC1;p=none;pct=100;aspf=r;adkim=r;165
56v=DMARC1; p=reject; pct=100;159
57v=DMARC1; p=reject; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf150
58v=DMARC1;p=none;sp=none;pct=50;adkim=r;aspf=r;143
59v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com143
60v=DMARC1;p=reject;142
61v=DMARC1; p=reject; adkim=s; aspf=s;134
62v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.250ok.net; ruf=mailto:dmarc_fr@dmarc.250ok.net; fo=1; pct=100; rf=afrf133
63v=DMARC1;""p=none;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com126
64v=DMARC1; p=none; rua=mailto:report@dmarc.em.secureserver.net126
65v=DMARC1; p=none; rua=mailto:mailauth-reports@google.com124
66v=DMARC1;p=none;fo=1;rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com124
67v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s122
68v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:nexstar@rua.agari.com; ruf=mailto:nexstar@ruf.agari.com117
69v=DMARC1; p=none; fo=1;116
70v=DMARC1; p=reject; rua=mailto:dmarc_rua@emaildefense.proofpoint.com; ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com113
71v=DMARC1; p=none; sp=none; ri=86400112
72v=DMARC1; p=reject; fo=1; rua=mailto:dmarc_rua@emaildefense.proofpoint.com;ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com111
73v=DMARC1; p=none; rua=mailto:dmarc_agg@dmarc.everest.email; ruf=mailto:dmarc_fr@dmarc.everest.email; fo=1; pct=100; rf=afrf111
74v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:adobe@rua.agari.com; ruf=mailto:adobe@ruf.agari.com; fo=1109
75v=DMARC1; p=none; sp=none; rua=mailto:dmarc-raports@dhosting.pl109
76v=DMARC1; p=quarantine; sp=none; pct=100; ri=86400108
77v=DMARC1; p=reject; rua=mailto:2ynhg3yt@ag.dmarcian.com102
78v=DMARC1; p=reject; sp=reject100
79v=DMARC1; p=quarantine; pct=90; sp=none100
80v=DMARC1; p=none; fo=1; rua=mailto:dmarc_agg@auth.returnpath.net; ruf=mailto:dmarc_afrf@auth.returnpath.net92
81v=DMARC1;p=quarantine;sp=quarantine;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=8640092
82v=DMARC1;p=reject;pct=100;rua=mailto:dmarc-groups@hubspot.com;ruf=mailto:dmarc-groups@hubspot.com91
83v=DMARC1; p=none; adkim=r; aspf=r90
84v=DMARC1; p=reject; pct=100; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com; fo=189
85v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-yahoo-rua@yahoo-inc.com;89
86v=DMARC1; p=none; pct=50;87
87v=DMARC1;p=none;pct=100;rua=mailto:youremailaddress@yourdomain.com;ruf=mailto:youremailaddress@yourdomain.com85
88v=DMARC1; p=quarantine; adkim=s84
89v=DMARC1; p=reject; fo=1; rua=mailto:beiersdorf@rua.agari.com; ruf=mailto:beiersdorf@ruf.agari.com84
90v=DMARC1;""p=reject;""fo=1;""rua=mailto:dmarc_rua@emaildefense.proofpoint.com;""ruf=mailto:dmarc_ruf@emaildefense.proofpoint.com84
91v=DMARC1; p=reject; adkim=s; aspf=s83
92v=DMARC1; p=reject; fo=1; ri=3600; rua=mailto:unitedhealthgroup@rua.agari.com; ruf=mailto:unitedhealthgroup@ruf.agari.com83
93v=DMARC1; p=reject; aspf=s; adkim=s;82
94v=DMARC1; p=reject; sp=reject; rua=mailto:tcod1eh2@ag.eu.dmarcadvisor.com;82
95v=DMARC1;p=quarantine;80
96v=DMARC1; p=quarantine; fo=180
97v=DMARC1; p=none; rua=mailto:dmarc@inbound.flowmailer.net; ruf=mailto:dmarc@inbound.flowmailer.net; fo=178
98v=DMARC1; p=quarantine; sp=quarantine78
99v=DMARC1;p=reject;pct=10077
100v=DMARC1;""p=quarantine;""pct=100;""rua=mailto:report@dmarc.amazon.com;""ruf=mailto:report@dmarc.amazon.com75

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
1eforward4.registrar-servers.com8 069
2eforward5.registrar-servers.com8 068
3eforward1.registrar-servers.com8 064
4eforward2.registrar-servers.com8 062
5eforward3.registrar-servers.com8 054
6mailstore1.secureserver.net6 675
7smtp.secureserver.net6 659
8mx2-hosting.jellyfish.systems2 954
9mx3-hosting.jellyfish.systems2 944
10mx1-hosting.jellyfish.systems2 936
11route2.mx.cloudflare.net2 714
12route1.mx.cloudflare.net2 714
13route3.mx.cloudflare.net2 713
14park-mx.above.com2 643
15mx10.mailspamprotection.com2 450
16mx20.mailspamprotection.com2 449
17mx30.mailspamprotection.com2 446
18mx1-us1.ppe-hosted.com2 440
19mx2-us1.ppe-hosted.com2 413
20mx1.hostinger.com1 808
21mx2.hostinger.com1 744
22mx1.hostinger.in1 577
23mx2.hostinger.in1 527
24mx1.privateemail.com1 518
25mx2.privateemail.com1 511
Show rows 26 – 100
#MX targetDomains
26mx1.mailchannels.net1 273
27mx2.mailchannels.net1 270
28nan1 133
29mx1.csof.net1 060
30mx2.csof.net1 060
31smtpin.rzone.de1 051
32mx.stackmail.com1 028
33mx156.hostedmxserver.com1 006
34mail.h-email.net995
35mxlb.ispgateway.de983
36mx10.antispam.mailspamprotection.com973
37mx20.antispam.mailspamprotection.com973
38mx30.antispam.mailspamprotection.com973
39localhost938
40amir.mx.cloudflare.net908
41isaac.mx.cloudflare.net908
42linda.mx.cloudflare.net906
43mx-biz.mail.am0.yahoodns.net784
44us2.mx1.mailhostbox.com779
45mx.spamexperts.com776
46mx00.1and1.com771
47us2.mx2.mailhostbox.com770
48us2.mx3.mailhostbox.com770
49mx01.1and1.com766
50fallbackmx.spamexperts.eu716
51lastmx.spamexperts.net712
52mx01.nicmail.ru708
53mx02.nicmail.ru697
54mx03.nicmail.ru696
55mx001.netsol.xion.oxcs.net689
56mx002.netsol.xion.oxcs.net689
57mx01.lolipop.jp627
58mx.a.locaweb.com.br539
59mx.b.locaweb.com.br537
60mx1.123-reg.co.uk535
61mx0.123-reg.co.uk533
62mx.jk.locaweb.com.br533
63mx01.hornetsecurity.com490
64mx02.hornetsecurity.com488
65mx1.dreamhost.com484
66mx2.dreamhost.com481
67mx03.hornetsecurity.com480
68mx04.hornetsecurity.com478
69mx1.qiye.aliyun.com452
70mx003.netsol.xion.oxcs.net450
71mx004.netsol.xion.oxcs.net449
72mx.core.locaweb.com.br449
73za-smtp-inbound-2.mimecast.co.za449
74mx2.qiye.aliyun.com448
75za-smtp-inbound-1.mimecast.co.za448
76mail.mailerhost.net447
77mx15.ukraine.com.ua446
78mx20.ukraine.com.ua444
79mx3.qiye.aliyun.com436
80mx1.forwardemail.net427
81mx2.forwardemail.net427
82mx.securemx.jp425
83mta-gw.infomaniak.ch406
84mx1.spaceweb.ru400
85mx2.spaceweb.ru397
86mx00.1and1.co.uk371
87mx01.1and1.co.uk370
88relay2.netnames.net352
89relay1.netnames.net351
90mail.register.it317
91mx.ukraine.com.ua284
92mx1-eu1.ppe-hosted.com281
93mx.serviciodecorreo.es279
94mx2-eu1.ppe-hosted.com278
95dmail.kagoya.net272
96kr1-aspmx1.worksmobile.com272
97mx-01-us-west-2.prod.hydra.sophos.com271
98mx01.1and1.fr270
99alt1.us.email.fireeyecloud.com269
100mx00.1and1.fr268

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.com8 053
2websitewelcome.com7 586
3relay.mailchannels.net7 008
4secureserver.net6 925
5zoho.com5 840
6us._netblocks.mimecast.com4 696
7_spf.mailspamprotection.com4 191
8spf.web-hosting.com3 780
9emailsrvr.com3 717
10_spf.mx.cloudflare.net3 704
11_spf.mail.hostinger.com3 587
12beget.com3 482
13emsd1.com3 089
14mx.ovh.com3 072
15spf.mail.qq.com2 943
16spf.ess.barracudanetworks.com2 841
17_netblocks.mimecast.com2 753
18_spf.mlsend.com2 722
19helpscoutemail.com2 700
20spf.sender.xserver.jp2 549
21eu._netblocks.mimecast.com1 993
22spf.emailsignatures365.com1 941
23stspg-customer.com1 941
24_incspfcheck.mailspike.net1 930
25mxsspf.sendpulse.com1 855
Show rows 26 – 100
#SPF includeDomains
26zcsend.net1 816
27spf.mxhichina.com1 799
28spf.messagelabs.com1 731
29aspmx.googlemail.com1 625
30netblocks.dreamhost.com1 620
31transmail.net1 511
32bluehost.com1 453
33_spf.timeweb.ru1 422
34spf.titan.email1 397
35spf.exclaimer.net1 392
36spf.163.com1 335
37spf.dynect.net1 315
38_mailcust.gandi.net1 283
39spf.antispamcloud.com1 262
40spf.messagingengine.com1 239
41_spf.kundenserver.de1 212
42_spf.perfora.net1 140
43_spf.createsend.com1 122
44mxsmtp.sendpulse.com1 106
45spf.smtp2go.com1 087
46spf.crsend.com1 076
47spf.improvmx.com1 001
48authsmtp.com996
49spf.tmes.trendmicro.com992
50_auxspf.axspace.com979
51relay.mailbaby.net947
52spf.securedserverspace.com944
53_spf.hosting.reg.ru936
54cmail1.com911
55_spf.mailhostbox.com901
56spf.stackmail.com853
57musvc.com820
58outboundmail.blackbaud.net766
59e2ma.net750
60spf.mx.hostinger.com739
61spf.cloudus.oxcs.net715
62infusionmail.com689
63ispgateway.de683
64zoho.in666
65spf.a2hosting.com663
66spf.mail.intercom.io660
67mailcontrol.com649
68spf.autopilothq.com621
69nicmail.ru621
70webhostbox.net607
71agenturserver.de605
72spf.hornetsecurity.com604
73spf2.esputnik.com596
74spfa.mailendo.com590
75aruba.it580
76spf.registeredsite.com578
77outlook.com563
78_spf.hostedemail.com558
79spf.mailanyone.net552
80_spf.locaweb.com.br545
81spf.nl2go.com544
82_spf.act-on.net539
83outboundmail.convio.net530
84msgfocus.com507
85au._netblocks.mimecast.com505
86send.aweber.com504
87spf-bma.mpme.jp498
88email-od.com492
89spf.afas.online485
90spf.mindbox.ru473
91spf.infomaniak.ch470
92_spf.prod.hydra.sophos.com467
93icpbounce.com465
94spf.mysecurecloudhost.com448
95spf.qiye.aliyun.com444
96spf.ipzmarketing.com443
97_spf.ukraine.com.ua433
98_netblocks.google.com433
99spf.securemx.jp428
100spf.host-h.net420

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 2023-05-01. Aggregates only — raw OpenINTEL data is deleted after analysis per their data agreement.
Last build: 2026-04-28T14:23:13Z.