@strapi/email 5.37.1 → 5.38.0
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/dist/admin/constants.js.map +1 -1
- package/dist/admin/constants.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/Settings.js +399 -47
- package/dist/admin/pages/Settings.js.map +1 -1
- package/dist/admin/pages/Settings.mjs +402 -50
- package/dist/admin/pages/Settings.mjs.map +1 -1
- package/dist/admin/shared/email-address-parser.js +245 -0
- package/dist/admin/shared/email-address-parser.js.map +1 -0
- package/dist/admin/shared/email-address-parser.mjs +243 -0
- package/dist/admin/shared/email-address-parser.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +18 -2
- package/dist/admin/translations/de.json.js.map +1 -1
- package/dist/admin/translations/de.json.mjs +18 -2
- package/dist/admin/translations/de.json.mjs.map +1 -1
- package/dist/admin/translations/en.json.js +23 -1
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +23 -1
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
- package/dist/admin/utils/schema.js.map +1 -1
- package/dist/admin/utils/schema.mjs.map +1 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/email.js +33 -1
- package/dist/server/controllers/email.js.map +1 -1
- package/dist/server/controllers/email.mjs +33 -1
- package/dist/server/controllers/email.mjs.map +1 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/index.js +8 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/index.js.map +1 -1
- package/dist/server/middlewares/index.mjs.map +1 -1
- package/dist/server/middlewares/rateLimit.js.map +1 -1
- package/dist/server/middlewares/rateLimit.mjs.map +1 -1
- package/dist/server/routes/admin.js +18 -0
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs +18 -0
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/routes/content-api.mjs.map +1 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/routes/validation/email.js.map +1 -1
- package/dist/server/routes/validation/email.mjs.map +1 -1
- package/dist/server/services/email.js.map +1 -1
- package/dist/server/services/email.mjs +1 -1
- package/dist/server/services/email.mjs.map +1 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/email.d.ts +1 -0
- package/dist/server/src/controllers/email.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +1 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/admin.d.ts.map +1 -1
- package/dist/shared/email-address-parser.d.ts +81 -0
- package/dist/shared/email-address-parser.d.ts.map +1 -0
- package/dist/shared/types.d.ts +17 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RFC-compliant Email Address Parser
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - RFC 5322: Internet Message Format (basic name <email> format)
|
|
6
|
+
* - RFC 2047: MIME encoded-words for non-ASCII characters
|
|
7
|
+
* - RFC 5322: Comments in parentheses
|
|
8
|
+
* - RFC 5322: Quoted strings with special characters
|
|
9
|
+
* - RFC 6531: Internationalized email addresses (UTF-8)
|
|
10
|
+
*/
|
|
11
|
+
export interface ParsedEmailAddress {
|
|
12
|
+
/** Display name (decoded if RFC 2047 encoded) */
|
|
13
|
+
name: string | null;
|
|
14
|
+
/** Email address */
|
|
15
|
+
email: string;
|
|
16
|
+
/** Original unparsed string */
|
|
17
|
+
original: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Parses an email address string according to RFC 5322 and related RFCs
|
|
21
|
+
*
|
|
22
|
+
* Supported formats:
|
|
23
|
+
* 1. Simple email: "email@example.com"
|
|
24
|
+
* 2. Name with angle brackets: "Name <email@example.com>"
|
|
25
|
+
* 3. Quoted name: "\"Doe, John\" <email@example.com>"
|
|
26
|
+
* 4. RFC 2047 encoded: "=?UTF-8?B?...?= <email@example.com>"
|
|
27
|
+
* 5. With comment: "email@example.com (Display Name)"
|
|
28
|
+
* 6. Mixed: "\"Name\" <email@example.com> (comment)"
|
|
29
|
+
*
|
|
30
|
+
* @param emailString - The email address string to parse
|
|
31
|
+
* @returns Parsed email address with name, email, and original string
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* parseEmailAddress('Strapi <no-reply@strapi.io>')
|
|
35
|
+
* // { name: 'Strapi', email: 'no-reply@strapi.io', original: '...' }
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* parseEmailAddress('=?UTF-8?B?U3RyYXBp?= <no-reply@strapi.io>')
|
|
39
|
+
* // { name: 'Strapi', email: 'no-reply@strapi.io', original: '...' }
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* parseEmailAddress('no-reply@strapi.io (Strapi Support)')
|
|
43
|
+
* // { name: 'Strapi Support', email: 'no-reply@strapi.io', original: '...' }
|
|
44
|
+
*/
|
|
45
|
+
export declare const parseEmailAddress: (emailString: string | undefined | null) => ParsedEmailAddress;
|
|
46
|
+
/**
|
|
47
|
+
* Formats an email address according to RFC 5322
|
|
48
|
+
*
|
|
49
|
+
* @param name - Display name (will be quoted if contains special chars)
|
|
50
|
+
* @param email - Email address
|
|
51
|
+
* @returns Formatted email address string
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* formatEmailAddress('Strapi', 'no-reply@strapi.io')
|
|
55
|
+
* // 'Strapi <no-reply@strapi.io>'
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* formatEmailAddress('Doe, John', 'john@example.com')
|
|
59
|
+
* // '"Doe, John" <john@example.com>'
|
|
60
|
+
*/
|
|
61
|
+
export declare const formatEmailAddress: (name: string | null, email: string) => string;
|
|
62
|
+
/**
|
|
63
|
+
* Validates an email address according to RFC 5322
|
|
64
|
+
* This is a simplified validation that covers most common cases
|
|
65
|
+
*
|
|
66
|
+
* @param email - Email address to validate
|
|
67
|
+
* @returns true if the email appears valid
|
|
68
|
+
*/
|
|
69
|
+
export declare const isValidEmail: (email: string) => boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Parses multiple email addresses separated by commas
|
|
72
|
+
* Handles quoted strings that may contain commas
|
|
73
|
+
*
|
|
74
|
+
* @param emailsString - Comma-separated email addresses
|
|
75
|
+
* @returns Array of parsed email addresses
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* parseMultipleEmailAddresses('a@example.com, "Doe, John" <b@example.com>')
|
|
79
|
+
* // [{ name: null, email: 'a@example.com', ... }, { name: 'Doe, John', email: 'b@example.com', ... }]
|
|
80
|
+
*/
|
|
81
|
+
export declare const parseMultipleEmailAddresses: (emailsString: string | undefined | null) => ParsedEmailAddress[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-address-parser.d.ts","sourceRoot":"","sources":["../../shared/email-address-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4KD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,iBAAiB,gBAAiB,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,kBA4D1E,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,SAAU,MAAM,GAAG,IAAI,SAAS,MAAM,KAAG,MAgBvE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,OAW5C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,iBACxB,MAAM,GAAG,SAAS,GAAG,IAAI,KACtC,kBAAkB,EAgDpB,CAAC"}
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
|
+
export interface ProviderCapabilities {
|
|
2
|
+
transport?: {
|
|
3
|
+
host?: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
secure?: boolean;
|
|
6
|
+
pool?: boolean;
|
|
7
|
+
maxConnections?: number;
|
|
8
|
+
};
|
|
9
|
+
auth?: {
|
|
10
|
+
type?: string;
|
|
11
|
+
user?: string;
|
|
12
|
+
};
|
|
13
|
+
features?: string[];
|
|
14
|
+
}
|
|
1
15
|
export interface EmailSettings {
|
|
2
16
|
config: ConfigSettings;
|
|
17
|
+
supportsVerify: boolean;
|
|
18
|
+
capabilities?: ProviderCapabilities;
|
|
19
|
+
isIdle?: boolean;
|
|
3
20
|
}
|
|
4
21
|
export interface ConfigSettings {
|
|
5
22
|
provider: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../shared/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../shared/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/email",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.38.0",
|
|
4
4
|
"description": "Easily configure your Strapi application to send emails.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
"watch": "run -T rollup -c -w"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@strapi/design-system": "2.
|
|
60
|
-
"@strapi/icons": "2.
|
|
61
|
-
"@strapi/provider-email-sendmail": "5.
|
|
62
|
-
"@strapi/utils": "5.
|
|
59
|
+
"@strapi/design-system": "2.2.0",
|
|
60
|
+
"@strapi/icons": "2.2.0",
|
|
61
|
+
"@strapi/provider-email-sendmail": "5.38.0",
|
|
62
|
+
"@strapi/utils": "5.38.0",
|
|
63
63
|
"koa2-ratelimit": "^1.1.3",
|
|
64
64
|
"lodash": "4.17.23",
|
|
65
65
|
"react-intl": "6.6.2",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"zod": "3.25.67"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@strapi/admin": "5.
|
|
72
|
-
"@strapi/types": "5.
|
|
71
|
+
"@strapi/admin": "5.38.0",
|
|
72
|
+
"@strapi/types": "5.38.0",
|
|
73
73
|
"@testing-library/react": "16.3.0",
|
|
74
74
|
"@types/koa": "2.13.4",
|
|
75
75
|
"@types/lodash": "^4.14.191",
|