@mikkelscheike/email-provider-links 4.0.10 → 4.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/api.d.ts +2 -2
- package/dist/api.js +2 -2
- package/dist/hash-verifier.js +2 -2
- package/dist/index.d.ts +5 -5
- package/dist/index.js +3 -3
- package/package.json +2 -2
- package/providers/emailproviders.json +103 -24
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@mikkelscheike/email-provider-links)
|
|
4
4
|
|
|
5
|
-
> **Generate direct login links for any email address across
|
|
5
|
+
> **Generate direct login links for any email address across 129+ providers (Gmail, Outlook, Yahoo, etc.) to streamline user authentication flows.**
|
|
6
6
|
|
|
7
|
-
A robust TypeScript library providing direct links to **
|
|
7
|
+
A robust TypeScript library providing direct links to **129 email providers** (217 domains) with **concurrent DNS resolution**, **optimized performance**, **comprehensive email validation**, and advanced security features for login and password reset flows.
|
|
8
8
|
|
|
9
9
|
## 🚀 Try it out
|
|
10
10
|
|
|
@@ -26,8 +26,8 @@ A robust TypeScript library providing direct links to **93 email providers** (18
|
|
|
26
26
|
## ✨ Core Features
|
|
27
27
|
|
|
28
28
|
- 🚀 **Fast & Lightweight**: Zero dependencies, ultra-low memory (0.10MB initial, 0.00004MB per 1000 ops), small footprint (~39.5KB compressed)
|
|
29
|
-
- 📧 **
|
|
30
|
-
- 🌐 **
|
|
29
|
+
- 📧 **129 Email Providers**: Gmail, Outlook, Yahoo, ProtonMail, iCloud, and many more
|
|
30
|
+
- 🌐 **217 Domains Supported**: Comprehensive international coverage
|
|
31
31
|
- 🌍 **Full IDN Support**: International domain names with RFC compliance and Punycode
|
|
32
32
|
- ✅ **Advanced Email Validation**: International email validation with detailed error reporting
|
|
33
33
|
- 🏢 **Business Domain Detection**: DNS-based detection for custom domains (Google Workspace, Microsoft 365, etc.)
|
|
@@ -66,7 +66,7 @@ Fully compatible with the latest Node.js 24.x and 25.x! The library is tested on
|
|
|
66
66
|
|
|
67
67
|
## Supported Providers
|
|
68
68
|
|
|
69
|
-
**📊 Current Coverage:
|
|
69
|
+
**📊 Current Coverage: 129 providers supporting 217 domains**
|
|
70
70
|
|
|
71
71
|
**Consumer Email Providers:**
|
|
72
72
|
- **Gmail** (2 domains): gmail.com, googlemail.com
|
package/dist/api.d.ts
CHANGED
|
@@ -184,7 +184,7 @@ export declare function getEmailProviderFast(email: string, options?: {
|
|
|
184
184
|
export declare const Config: {
|
|
185
185
|
readonly DEFAULT_DNS_TIMEOUT: 5000;
|
|
186
186
|
readonly MAX_DNS_REQUESTS_PER_MINUTE: 10;
|
|
187
|
-
readonly SUPPORTED_PROVIDERS_COUNT:
|
|
188
|
-
readonly SUPPORTED_DOMAINS_COUNT:
|
|
187
|
+
readonly SUPPORTED_PROVIDERS_COUNT: 130;
|
|
188
|
+
readonly SUPPORTED_DOMAINS_COUNT: 218;
|
|
189
189
|
};
|
|
190
190
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/api.js
CHANGED
|
@@ -516,7 +516,7 @@ async function getEmailProviderFast(email, options = {}) {
|
|
|
516
516
|
exports.Config = {
|
|
517
517
|
DEFAULT_DNS_TIMEOUT: 5000,
|
|
518
518
|
MAX_DNS_REQUESTS_PER_MINUTE: 10,
|
|
519
|
-
SUPPORTED_PROVIDERS_COUNT:
|
|
520
|
-
SUPPORTED_DOMAINS_COUNT:
|
|
519
|
+
SUPPORTED_PROVIDERS_COUNT: 130,
|
|
520
|
+
SUPPORTED_DOMAINS_COUNT: 218
|
|
521
521
|
};
|
|
522
522
|
//# sourceMappingURL=api.js.map
|
package/dist/hash-verifier.js
CHANGED
|
@@ -27,9 +27,9 @@ const path_1 = require("path");
|
|
|
27
27
|
*/
|
|
28
28
|
const KNOWN_GOOD_HASHES = {
|
|
29
29
|
// SHA-256 hash of the legitimate emailproviders.json
|
|
30
|
-
'emailproviders.json': '
|
|
30
|
+
'emailproviders.json': 'a4fe056edad44ae5479cc100d5cc67cb5f6df86e19c4209db6c5f715f5bf070e',
|
|
31
31
|
// You can add hashes for other critical files
|
|
32
|
-
'package.json': '
|
|
32
|
+
'package.json': 'eb87dda83960aa1c2c3bc7a6e4bb4800ff5b8a53d7cc319181662a4b02ba5287',
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
35
|
* Calculates SHA-256 hash of a file or string content
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Email Provider Links
|
|
3
3
|
*
|
|
4
4
|
* A modern, robust email provider detection library with:
|
|
5
|
-
* -
|
|
5
|
+
* - 130+ verified email providers covering 210+ domains
|
|
6
6
|
* - Concurrent DNS detection for business domains
|
|
7
7
|
* - Zero runtime dependencies
|
|
8
8
|
* - Comprehensive error handling with detailed context
|
|
@@ -169,8 +169,8 @@ export declare const isValidEmailAddress: typeof isValidEmail;
|
|
|
169
169
|
/**
|
|
170
170
|
* Library metadata (legacy constants)
|
|
171
171
|
*/
|
|
172
|
-
export declare const PROVIDER_COUNT =
|
|
173
|
-
export declare const DOMAIN_COUNT =
|
|
172
|
+
export declare const PROVIDER_COUNT = 130;
|
|
173
|
+
export declare const DOMAIN_COUNT = 218;
|
|
174
174
|
/**
|
|
175
175
|
* Default export for convenience
|
|
176
176
|
*
|
|
@@ -200,8 +200,8 @@ declare const _default: {
|
|
|
200
200
|
Config: {
|
|
201
201
|
readonly DEFAULT_DNS_TIMEOUT: 5000;
|
|
202
202
|
readonly MAX_DNS_REQUESTS_PER_MINUTE: 10;
|
|
203
|
-
readonly SUPPORTED_PROVIDERS_COUNT:
|
|
204
|
-
readonly SUPPORTED_DOMAINS_COUNT:
|
|
203
|
+
readonly SUPPORTED_PROVIDERS_COUNT: 130;
|
|
204
|
+
readonly SUPPORTED_DOMAINS_COUNT: 218;
|
|
205
205
|
};
|
|
206
206
|
PROVIDER_COUNT: number;
|
|
207
207
|
DOMAIN_COUNT: number;
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Email Provider Links
|
|
4
4
|
*
|
|
5
5
|
* A modern, robust email provider detection library with:
|
|
6
|
-
* -
|
|
6
|
+
* - 130+ verified email providers covering 210+ domains
|
|
7
7
|
* - Concurrent DNS detection for business domains
|
|
8
8
|
* - Zero runtime dependencies
|
|
9
9
|
* - Comprehensive error handling with detailed context
|
|
@@ -329,8 +329,8 @@ exports.isValidEmailAddress = isValidEmail;
|
|
|
329
329
|
/**
|
|
330
330
|
* Library metadata (legacy constants)
|
|
331
331
|
*/
|
|
332
|
-
exports.PROVIDER_COUNT =
|
|
333
|
-
exports.DOMAIN_COUNT =
|
|
332
|
+
exports.PROVIDER_COUNT = 130;
|
|
333
|
+
exports.DOMAIN_COUNT = 218;
|
|
334
334
|
/**
|
|
335
335
|
* Default export for convenience
|
|
336
336
|
*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikkelscheike/email-provider-links",
|
|
3
|
-
"version": "4.0.
|
|
4
|
-
"description": "TypeScript library for email provider detection with
|
|
3
|
+
"version": "4.0.11",
|
|
4
|
+
"description": "TypeScript library for email provider detection with 130 providers (218 domains), concurrent DNS resolution, optimized performance, 94.65% test coverage, and enterprise security for login and password reset flows",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -77,7 +77,6 @@
|
|
|
77
77
|
"aol.com",
|
|
78
78
|
"love.com",
|
|
79
79
|
"ygm.com",
|
|
80
|
-
"games.com",
|
|
81
80
|
"wow.com",
|
|
82
81
|
"aim.com"
|
|
83
82
|
],
|
|
@@ -1023,15 +1022,6 @@
|
|
|
1023
1022
|
"companyProvider": "Onet Mail",
|
|
1024
1023
|
"loginUrl": "https://poczta.onet.pl"
|
|
1025
1024
|
},
|
|
1026
|
-
{
|
|
1027
|
-
"id": "ono",
|
|
1028
|
-
"domains": [
|
|
1029
|
-
"ono.com"
|
|
1030
|
-
],
|
|
1031
|
-
"type": "public_provider",
|
|
1032
|
-
"companyProvider": "Ono Mail",
|
|
1033
|
-
"loginUrl": "https://webmail.ono.com"
|
|
1034
|
-
},
|
|
1035
1025
|
{
|
|
1036
1026
|
"id": "optimum",
|
|
1037
1027
|
"type": "public_provider",
|
|
@@ -1090,6 +1080,66 @@
|
|
|
1090
1080
|
"companyProvider": "Posteo",
|
|
1091
1081
|
"loginUrl": "https://posteo.de"
|
|
1092
1082
|
},
|
|
1083
|
+
{
|
|
1084
|
+
"id": "mailboxorg",
|
|
1085
|
+
"domains": [
|
|
1086
|
+
"mailbox.org"
|
|
1087
|
+
],
|
|
1088
|
+
"mx": [
|
|
1089
|
+
"mx.mailbox.org"
|
|
1090
|
+
],
|
|
1091
|
+
"txt": [
|
|
1092
|
+
"spf:mailbox.org -all"
|
|
1093
|
+
],
|
|
1094
|
+
"type": "public_provider",
|
|
1095
|
+
"companyProvider": "Mailbox.org",
|
|
1096
|
+
"loginUrl": "https://mailbox.org"
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"id": "privatemail",
|
|
1100
|
+
"domains": [
|
|
1101
|
+
"privatemail.com"
|
|
1102
|
+
],
|
|
1103
|
+
"mx": [
|
|
1104
|
+
"mx.privatemail.com"
|
|
1105
|
+
],
|
|
1106
|
+
"txt": [
|
|
1107
|
+
"spf:spf.privatemail.com -all"
|
|
1108
|
+
],
|
|
1109
|
+
"type": "public_provider",
|
|
1110
|
+
"companyProvider": "PrivateMail",
|
|
1111
|
+
"loginUrl": "https://mail.privatemail.com/"
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
"id": "disroot",
|
|
1115
|
+
"domains": [
|
|
1116
|
+
"disroot.org"
|
|
1117
|
+
],
|
|
1118
|
+
"mx": [
|
|
1119
|
+
"mx.disroot.org"
|
|
1120
|
+
],
|
|
1121
|
+
"txt": [
|
|
1122
|
+
"spf1:mx ~all"
|
|
1123
|
+
],
|
|
1124
|
+
"type": "public_provider",
|
|
1125
|
+
"companyProvider": "Disroot",
|
|
1126
|
+
"loginUrl": "https://mail.disroot.org"
|
|
1127
|
+
},
|
|
1128
|
+
{
|
|
1129
|
+
"id": "autistici",
|
|
1130
|
+
"domains": [
|
|
1131
|
+
"autistici.org"
|
|
1132
|
+
],
|
|
1133
|
+
"mx": [
|
|
1134
|
+
"mx.autistici.org"
|
|
1135
|
+
],
|
|
1136
|
+
"txt": [
|
|
1137
|
+
"spf1:mx a ~all"
|
|
1138
|
+
],
|
|
1139
|
+
"type": "public_provider",
|
|
1140
|
+
"companyProvider": "Autistici.org",
|
|
1141
|
+
"loginUrl": "https://accounts.autistici.org/"
|
|
1142
|
+
},
|
|
1093
1143
|
{
|
|
1094
1144
|
"id": "proton",
|
|
1095
1145
|
"domains": [
|
|
@@ -1316,14 +1366,14 @@
|
|
|
1316
1366
|
"siteground.com"
|
|
1317
1367
|
],
|
|
1318
1368
|
"mx": [
|
|
1319
|
-
"mx10.mailspamprotection.com",
|
|
1320
|
-
"mx20.mailspamprotection.com",
|
|
1321
|
-
"mx30.mailspamprotection.com"
|
|
1369
|
+
"mx10.antispam.mailspamprotection.com",
|
|
1370
|
+
"mx20.antispam.mailspamprotection.com",
|
|
1371
|
+
"mx30.antispam.mailspamprotection.com"
|
|
1322
1372
|
],
|
|
1323
1373
|
"txt": [
|
|
1324
1374
|
"spf:_spf.mailspamprotection.com"
|
|
1325
1375
|
],
|
|
1326
|
-
"type": "
|
|
1376
|
+
"type": "custom_provider",
|
|
1327
1377
|
"companyProvider": "SiteGround",
|
|
1328
1378
|
"loginUrl": "https://tools.siteground.com/email"
|
|
1329
1379
|
},
|
|
@@ -1339,14 +1389,30 @@
|
|
|
1339
1389
|
"companyProvider": "Sky Mail",
|
|
1340
1390
|
"loginUrl": "https://skyid.sky.com/signin/email"
|
|
1341
1391
|
},
|
|
1392
|
+
{
|
|
1393
|
+
"id": "startmail",
|
|
1394
|
+
"domains": [
|
|
1395
|
+
"startmail.com"
|
|
1396
|
+
],
|
|
1397
|
+
"mx": [
|
|
1398
|
+
"mx.startmail.com"
|
|
1399
|
+
],
|
|
1400
|
+
"txt": [
|
|
1401
|
+
"spf:spf.startmail.com -all"
|
|
1402
|
+
],
|
|
1403
|
+
"type": "public_provider",
|
|
1404
|
+
"companyProvider": "StartMail",
|
|
1405
|
+
"loginUrl": "https://startmail.com"
|
|
1406
|
+
},
|
|
1342
1407
|
{
|
|
1343
1408
|
"id": "skynet",
|
|
1344
1409
|
"domains": [
|
|
1345
|
-
"skynet.be"
|
|
1410
|
+
"skynet.be",
|
|
1411
|
+
"proximus.be"
|
|
1346
1412
|
],
|
|
1347
1413
|
"type": "public_provider",
|
|
1348
|
-
"companyProvider": "
|
|
1349
|
-
"loginUrl": "https://
|
|
1414
|
+
"companyProvider": "Proximus Mail",
|
|
1415
|
+
"loginUrl": "https://www.proximus.be/login/en/webmail.html"
|
|
1350
1416
|
},
|
|
1351
1417
|
{
|
|
1352
1418
|
"id": "talktalk",
|
|
@@ -1360,6 +1426,21 @@
|
|
|
1360
1426
|
"companyProvider": "TalkTalk Mail",
|
|
1361
1427
|
"loginUrl": "https://apps.talktalk.co.uk/appsuite/"
|
|
1362
1428
|
},
|
|
1429
|
+
{
|
|
1430
|
+
"id": "proximus",
|
|
1431
|
+
"mx": [
|
|
1432
|
+
"mx.glb.proximus.be"
|
|
1433
|
+
],
|
|
1434
|
+
"txt": [
|
|
1435
|
+
"spf:ispmail.spf.secure-mail.be",
|
|
1436
|
+
"spf:bgc.spf.secure-mail.be",
|
|
1437
|
+
"spf:pxspartners.spf.secure-mail.be",
|
|
1438
|
+
"spf:pxspartners2.spf.secure-mail.be"
|
|
1439
|
+
],
|
|
1440
|
+
"type": "custom_provider",
|
|
1441
|
+
"companyProvider": "Proximus Mail",
|
|
1442
|
+
"loginUrl": "https://www.proximus.be/login/en/webmail.html"
|
|
1443
|
+
},
|
|
1363
1444
|
{
|
|
1364
1445
|
"id": "teleko",
|
|
1365
1446
|
"domains": [
|
|
@@ -1403,8 +1484,7 @@
|
|
|
1403
1484
|
{
|
|
1404
1485
|
"id": "terra",
|
|
1405
1486
|
"domains": [
|
|
1406
|
-
"terra.com.br"
|
|
1407
|
-
"terra.es"
|
|
1487
|
+
"terra.com.br"
|
|
1408
1488
|
],
|
|
1409
1489
|
"type": "public_provider",
|
|
1410
1490
|
"companyProvider": "Terra Mail",
|
|
@@ -1547,8 +1627,7 @@
|
|
|
1547
1627
|
{
|
|
1548
1628
|
"id": "vsnl",
|
|
1549
1629
|
"domains": [
|
|
1550
|
-
"vsnl.net"
|
|
1551
|
-
"vsnl.com"
|
|
1630
|
+
"vsnl.net"
|
|
1552
1631
|
],
|
|
1553
1632
|
"type": "public_provider",
|
|
1554
1633
|
"mx": [
|
|
@@ -1710,8 +1789,8 @@
|
|
|
1710
1789
|
}
|
|
1711
1790
|
],
|
|
1712
1791
|
"meta": {
|
|
1713
|
-
"count":
|
|
1714
|
-
"domains":
|
|
1715
|
-
"generated": "2025-
|
|
1792
|
+
"count": 130,
|
|
1793
|
+
"domains": 218,
|
|
1794
|
+
"generated": "2025-12-09T10:38:50.000Z"
|
|
1716
1795
|
}
|
|
1717
1796
|
}
|