@hartl-services/medusa-base 2.8.0 → 2.9.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/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginSettingsForm.js +4 -5
- package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-view.d.ts +0 -5
- package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-view.js +0 -5
- package/.medusa/server/src/admin/admin-components/i18n/texts.d.ts +1 -2
- package/.medusa/server/src/admin/admin-components/i18n/texts.js +1 -2
- package/.medusa/server/src/admin/index.js +106 -69
- package/.medusa/server/src/admin/index.mjs +107 -70
- package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +7 -1
- package/.medusa/server/src/email/application/warn-credential-expiry.js +77 -0
- package/.medusa/server/src/email/config/index.js +8 -2
- package/.medusa/server/src/email/config/notification-module.js +28 -2
- package/.medusa/server/src/email/domain/business-keys.js +5 -2
- package/.medusa/server/src/email/domain/failure-classification.js +9 -1
- package/.medusa/server/src/email/plugin-features.js +123 -1
- package/.medusa/server/src/email/rendering/default-templates.js +16 -1
- package/.medusa/server/src/email/rendering/render-email.js +2 -1
- package/.medusa/server/src/email/types/email-kinds.js +2 -1
- package/.medusa/server/src/email/types/template-data.js +8 -1
- package/.medusa/server/src/jobs/email-credential-expiry.js +27 -0
- package/.medusa/server/src/modules/email/domain/message-state.js +3 -1
- package/.medusa/server/src/modules/email/migrations/Migration20261011120000.js +20 -0
- package/.medusa/server/src/providers/smtp/delivery-settings.js +75 -0
- package/.medusa/server/src/providers/smtp/graph-transport.js +150 -0
- package/.medusa/server/src/providers/smtp/service.js +105 -37
- package/.medusa/server/src/providers/smtp/types.js +7 -1
- package/.medusa/server/src/shop-config/build-food-shop-config.js +3 -5
- package/README.md +100 -65
- package/dist/email/config/index.d.ts +6 -1
- package/dist/email/config/index.js +7 -1
- package/dist/email/config/notification-module.d.ts +25 -0
- package/dist/email/config/notification-module.js +27 -1
- package/dist/email/types/email-kinds.d.ts +2 -1
- package/dist/email/types/email-kinds.js +1 -0
- package/dist/email/types/template-data.d.ts +10 -0
- package/dist/email/types/template-data.js +7 -0
- package/dist/shop-config/build-food-shop-config.d.ts +1 -1
- package/dist/shop-config/build-food-shop-config.js +2 -4
- package/package.json +2 -2
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphTransport = exports.graphSendMailBody = exports.GraphDeliveryError = exports.GRAPH_MAX_REQUEST_BYTES = exports.GRAPH_TIMEOUTS = void 0;
|
|
4
|
+
const node_crypto_1 = require("node:crypto");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
exports.GRAPH_TIMEOUTS = {
|
|
7
|
+
send: 30_000,
|
|
8
|
+
token: 10_000,
|
|
9
|
+
};
|
|
10
|
+
/** Graph rejects a `sendMail` request body above 4 MB. */
|
|
11
|
+
exports.GRAPH_MAX_REQUEST_BYTES = 4 * 1024 * 1024;
|
|
12
|
+
/** A token is renewed this long before Microsoft's expiry. */
|
|
13
|
+
const TOKEN_RENEWAL_MARGIN_MS = 5 * 60_000;
|
|
14
|
+
/** A Graph failure reduced to the provider's safe sentinel. */
|
|
15
|
+
class GraphDeliveryError extends Error {
|
|
16
|
+
constructor(sentinel) {
|
|
17
|
+
super(sentinel);
|
|
18
|
+
this.sentinel = sentinel;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.GraphDeliveryError = GraphDeliveryError;
|
|
22
|
+
/** The request never left: the host could not be resolved or connected. */
|
|
23
|
+
const isConnectionFailure = (error) => {
|
|
24
|
+
const code = error?.cause?.code;
|
|
25
|
+
return (code === "ENOTFOUND" ||
|
|
26
|
+
code === "ECONNREFUSED" ||
|
|
27
|
+
code === "EAI_AGAIN" ||
|
|
28
|
+
code === "UND_ERR_CONNECT_TIMEOUT");
|
|
29
|
+
};
|
|
30
|
+
const sendFailure = (status) => {
|
|
31
|
+
if (status === 401 || status === 403) {
|
|
32
|
+
return types_1.SMTP_FAILURE_SENTINELS.authFailed;
|
|
33
|
+
}
|
|
34
|
+
if (status === 408 || status === 429 || status >= 500) {
|
|
35
|
+
return types_1.SMTP_FAILURE_SENTINELS.transientRejection;
|
|
36
|
+
}
|
|
37
|
+
return types_1.SMTP_FAILURE_SENTINELS.permanentRejection;
|
|
38
|
+
};
|
|
39
|
+
const recipient = (address) => ({ emailAddress: { address } });
|
|
40
|
+
/** The `sendMail` body: HTML only (Graph has one body), attachments base64. */
|
|
41
|
+
const graphSendMailBody = (message) => JSON.stringify({
|
|
42
|
+
message: {
|
|
43
|
+
attachments: (message.attachments ?? []).map((attachment) => ({
|
|
44
|
+
"@odata.type": "#microsoft.graph.fileAttachment",
|
|
45
|
+
contentBytes: attachment.content.toString("base64"),
|
|
46
|
+
contentType: attachment.contentType,
|
|
47
|
+
isInline: attachment.contentDisposition === "inline",
|
|
48
|
+
name: attachment.filename,
|
|
49
|
+
...(attachment.cid ? { contentId: attachment.cid } : {}),
|
|
50
|
+
})),
|
|
51
|
+
body: { content: message.html, contentType: "HTML" },
|
|
52
|
+
subject: message.subject,
|
|
53
|
+
toRecipients: [recipient(message.to)],
|
|
54
|
+
},
|
|
55
|
+
saveToSentItems: true,
|
|
56
|
+
});
|
|
57
|
+
exports.graphSendMailBody = graphSendMailBody;
|
|
58
|
+
/**
|
|
59
|
+
* Sends through Microsoft Graph `POST /users/{mailbox}/sendMail` with an
|
|
60
|
+
* app-only token (client credentials). Tokens are cached per tenant, client
|
|
61
|
+
* and secret, so a changed secret never reuses an old token.
|
|
62
|
+
*/
|
|
63
|
+
class GraphTransport {
|
|
64
|
+
constructor(fetch_, now = Date.now) {
|
|
65
|
+
this.fetch_ = fetch_;
|
|
66
|
+
this.now = now;
|
|
67
|
+
this.tokens = new Map();
|
|
68
|
+
}
|
|
69
|
+
async send(configuration, message) {
|
|
70
|
+
const body = (0, exports.graphSendMailBody)(message);
|
|
71
|
+
if (Buffer.byteLength(body) > exports.GRAPH_MAX_REQUEST_BYTES) {
|
|
72
|
+
throw new GraphDeliveryError(types_1.SMTP_FAILURE_SENTINELS.invalidContent);
|
|
73
|
+
}
|
|
74
|
+
const token = await this.token(configuration);
|
|
75
|
+
let response;
|
|
76
|
+
try {
|
|
77
|
+
response = await this.fetch_(`https://graph.microsoft.com/v1.0/users/${encodeURIComponent(configuration.mailbox)}/sendMail`, {
|
|
78
|
+
body,
|
|
79
|
+
headers: {
|
|
80
|
+
authorization: `Bearer ${token}`,
|
|
81
|
+
"content-type": "application/json",
|
|
82
|
+
},
|
|
83
|
+
method: "POST",
|
|
84
|
+
signal: AbortSignal.timeout(exports.GRAPH_TIMEOUTS.send),
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
throw new GraphDeliveryError(isConnectionFailure(error)
|
|
89
|
+
? types_1.SMTP_FAILURE_SENTINELS.connectionFailed
|
|
90
|
+
: types_1.SMTP_FAILURE_SENTINELS.outcomeUnknown);
|
|
91
|
+
}
|
|
92
|
+
if (response.status === 401) {
|
|
93
|
+
// A revoked or rotated secret: the next send fetches a new token.
|
|
94
|
+
this.tokens.delete(this.cacheKey(configuration));
|
|
95
|
+
}
|
|
96
|
+
if (!response.ok) {
|
|
97
|
+
throw new GraphDeliveryError(sendFailure(response.status));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async prepare(configuration) {
|
|
101
|
+
await this.token(configuration);
|
|
102
|
+
}
|
|
103
|
+
cacheKey({ clientId, clientSecret, tenantId }) {
|
|
104
|
+
return (0, node_crypto_1.createHash)("sha256")
|
|
105
|
+
.update(`${tenantId}\u0000${clientId}\u0000${clientSecret}`)
|
|
106
|
+
.digest("hex");
|
|
107
|
+
}
|
|
108
|
+
async token(configuration) {
|
|
109
|
+
const key = this.cacheKey(configuration);
|
|
110
|
+
const cached = this.tokens.get(key);
|
|
111
|
+
if (cached && cached.expiresAt > this.now()) {
|
|
112
|
+
return cached.value;
|
|
113
|
+
}
|
|
114
|
+
let response;
|
|
115
|
+
try {
|
|
116
|
+
response = await this.fetch_(`https://login.microsoftonline.com/${encodeURIComponent(configuration.tenantId)}/oauth2/v2.0/token`, {
|
|
117
|
+
body: new URLSearchParams({
|
|
118
|
+
client_id: configuration.clientId,
|
|
119
|
+
client_secret: configuration.clientSecret,
|
|
120
|
+
grant_type: "client_credentials",
|
|
121
|
+
scope: "https://graph.microsoft.com/.default",
|
|
122
|
+
}).toString(),
|
|
123
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
124
|
+
method: "POST",
|
|
125
|
+
signal: AbortSignal.timeout(exports.GRAPH_TIMEOUTS.token),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// Nothing was sent yet, so a failed token request is always safe to retry.
|
|
130
|
+
throw new GraphDeliveryError(types_1.SMTP_FAILURE_SENTINELS.connectionFailed);
|
|
131
|
+
}
|
|
132
|
+
if (!response.ok) {
|
|
133
|
+
throw new GraphDeliveryError(response.status === 429 || response.status >= 500
|
|
134
|
+
? types_1.SMTP_FAILURE_SENTINELS.transientRejection
|
|
135
|
+
: types_1.SMTP_FAILURE_SENTINELS.authFailed);
|
|
136
|
+
}
|
|
137
|
+
const payload = (await response.json().catch(() => null));
|
|
138
|
+
const expiresIn = Number(payload?.expires_in);
|
|
139
|
+
if (typeof payload?.access_token !== "string" || !Number.isFinite(expiresIn)) {
|
|
140
|
+
throw new GraphDeliveryError(types_1.SMTP_FAILURE_SENTINELS.authFailed);
|
|
141
|
+
}
|
|
142
|
+
this.tokens.set(key, {
|
|
143
|
+
expiresAt: this.now() + expiresIn * 1000 - TOKEN_RENEWAL_MARGIN_MS,
|
|
144
|
+
value: payload.access_token,
|
|
145
|
+
});
|
|
146
|
+
return payload.access_token;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.GraphTransport = GraphTransport;
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgtdHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9zbXRwL2dyYXBoLXRyYW5zcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBeUM7QUFHekMsbUNBSWlCO0FBRUosUUFBQSxjQUFjLEdBQUc7SUFDNUIsSUFBSSxFQUFFLE1BQU07SUFDWixLQUFLLEVBQUUsTUFBTTtDQUNMLENBQUM7QUFFWCwwREFBMEQ7QUFDN0MsUUFBQSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQUV2RCw4REFBOEQ7QUFDOUQsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDO0FBYzNDLCtEQUErRDtBQUMvRCxNQUFhLGtCQUFtQixTQUFRLEtBQUs7SUFDM0MsWUFBcUIsUUFBNkI7UUFDaEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREcsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFFbEQsQ0FBQztDQUNGO0FBSkQsZ0RBSUM7QUFJRCwyRUFBMkU7QUFDM0UsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWMsRUFBVyxFQUFFO0lBQ3RELE1BQU0sSUFBSSxHQUFJLEtBQXdDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztJQUNwRSxPQUFPLENBQ0wsSUFBSSxLQUFLLFdBQVc7UUFDcEIsSUFBSSxLQUFLLGNBQWM7UUFDdkIsSUFBSSxLQUFLLFdBQVc7UUFDcEIsSUFBSSxLQUFLLHlCQUF5QixDQUNuQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFjLEVBQXVCLEVBQUU7SUFDMUQsSUFBSSxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNyQyxPQUFPLDhCQUFzQixDQUFDLFVBQVUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxNQUFNLEtBQUss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
|
|
@@ -4,11 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SmtpNotificationService = exports.SMTP_TIMEOUTS = void 0;
|
|
7
|
+
const framework_1 = require("@medusajs/framework");
|
|
7
8
|
const utils_1 = require("@medusajs/framework/utils");
|
|
8
9
|
const nodemailer_1 = __importDefault(require("nodemailer"));
|
|
9
10
|
const sender_1 = require("../../email/domain/sender");
|
|
11
|
+
const plugin_features_1 = require("../../email/plugin-features");
|
|
10
12
|
const service_1 = require("../../modules/email/service");
|
|
13
|
+
const settings_1 = require("../../public/settings");
|
|
11
14
|
const lib_1 = require("../../shared/lib");
|
|
15
|
+
const delivery_settings_1 = require("./delivery-settings");
|
|
16
|
+
const graph_transport_1 = require("./graph-transport");
|
|
12
17
|
const types_1 = require("./types");
|
|
13
18
|
exports.SMTP_TIMEOUTS = {
|
|
14
19
|
connection: 10_000,
|
|
@@ -45,6 +50,9 @@ const classifySmtpFailure = (error) => {
|
|
|
45
50
|
return types_1.SMTP_FAILURE_SENTINELS.outcomeUnknown;
|
|
46
51
|
}
|
|
47
52
|
const smtpError = error;
|
|
53
|
+
if (smtpError.code === "EAUTH") {
|
|
54
|
+
return types_1.SMTP_FAILURE_SENTINELS.authFailed;
|
|
55
|
+
}
|
|
48
56
|
const responseCode = Number(smtpError.responseCode);
|
|
49
57
|
if (responseCode >= 400 && responseCode < 500) {
|
|
50
58
|
return types_1.SMTP_FAILURE_SENTINELS.transientRejection;
|
|
@@ -68,45 +76,51 @@ const classifySmtpFailure = (error) => {
|
|
|
68
76
|
const throwSentinel = (sentinel) => {
|
|
69
77
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, sentinel);
|
|
70
78
|
};
|
|
79
|
+
const smtpTransportFor = (smtp) => {
|
|
80
|
+
const transport = nodemailer_1.default.createTransport({
|
|
81
|
+
auth: smtp.user ? { pass: smtp.password, user: smtp.user } : undefined,
|
|
82
|
+
connectionTimeout: exports.SMTP_TIMEOUTS.connection,
|
|
83
|
+
greetingTimeout: exports.SMTP_TIMEOUTS.greeting,
|
|
84
|
+
host: smtp.host,
|
|
85
|
+
port: smtp.port,
|
|
86
|
+
requireTLS: smtp.requireTls,
|
|
87
|
+
secure: smtp.secure,
|
|
88
|
+
socketTimeout: exports.SMTP_TIMEOUTS.socket,
|
|
89
|
+
});
|
|
90
|
+
return { sendMail: (message) => transport.sendMail(message) };
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* The shop's mail provider (id `smtp`). Which service it sends through, SMTP
|
|
94
|
+
* or Microsoft 365 (Graph), and the credentials come from the E-Mail plugin's
|
|
95
|
+
* settings ("Versand"), read on every send; nothing is read at boot.
|
|
96
|
+
*/
|
|
71
97
|
class SmtpNotificationService extends utils_1.AbstractNotificationProviderService {
|
|
72
98
|
constructor(dependencies, options) {
|
|
73
99
|
super();
|
|
100
|
+
this.smtpTransport_ = null;
|
|
74
101
|
this.logger_ = dependencies.logger;
|
|
75
102
|
this.options_ = options;
|
|
76
103
|
this.pgConnection_ = dependencies[utils_1.ContainerRegistrationKeys.PG_CONNECTION];
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
const transport = nodemailer_1.default.createTransport({
|
|
82
|
-
auth: {
|
|
83
|
-
pass: options.smtp.password,
|
|
84
|
-
user: options.smtp.user,
|
|
85
|
-
},
|
|
86
|
-
connectionTimeout: exports.SMTP_TIMEOUTS.connection,
|
|
87
|
-
greetingTimeout: exports.SMTP_TIMEOUTS.greeting,
|
|
88
|
-
host: options.smtp.host,
|
|
89
|
-
port: options.smtp.port,
|
|
90
|
-
requireTLS: options.smtp.requireTls,
|
|
91
|
-
secure: options.smtp.secure,
|
|
92
|
-
socketTimeout: exports.SMTP_TIMEOUTS.socket,
|
|
93
|
-
});
|
|
94
|
-
this.transport_ = {
|
|
95
|
-
sendMail: (message) => transport.sendMail(message),
|
|
96
|
-
};
|
|
104
|
+
this.graph_ = new graph_transport_1.GraphTransport(options.graphFetch ??
|
|
105
|
+
((url, init) => fetch(url, init)));
|
|
97
106
|
}
|
|
98
107
|
static validateOptions(options) {
|
|
99
108
|
if (!options || typeof options !== "object" || Array.isArray(options)) {
|
|
100
109
|
invalidOptions();
|
|
101
110
|
}
|
|
102
111
|
const channels = options.channels;
|
|
103
|
-
const smtp = options.smtp;
|
|
104
112
|
if (!Array.isArray(channels) ||
|
|
105
113
|
channels.length !== 1 ||
|
|
106
114
|
channels[0] !== "email" ||
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
(options.allowInsecure !== undefined &&
|
|
116
|
+
typeof options.allowInsecure !== "boolean")) {
|
|
117
|
+
invalidOptions();
|
|
118
|
+
}
|
|
119
|
+
const smtp = options.smtp;
|
|
120
|
+
if (smtp === undefined) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (typeof smtp !== "object" || smtp === null || Array.isArray(smtp)) {
|
|
110
124
|
invalidOptions();
|
|
111
125
|
}
|
|
112
126
|
const configuration = smtp;
|
|
@@ -123,6 +137,33 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
|
|
|
123
137
|
invalidOptions();
|
|
124
138
|
}
|
|
125
139
|
}
|
|
140
|
+
/** The settings of "Versand"; a read failure counts as unreachable. */
|
|
141
|
+
async deliverySettings() {
|
|
142
|
+
let settings;
|
|
143
|
+
try {
|
|
144
|
+
settings = await (this.options_.loadSettings
|
|
145
|
+
? this.options_.loadSettings()
|
|
146
|
+
: (0, settings_1.getPluginSettings)(framework_1.container, plugin_features_1.emailPluginFeatures, (0, delivery_settings_1.smtpSettingsFallback)(this.options_.smtp)));
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
this.logger_.error(`smtp: settings unavailable (${types_1.SMTP_FAILURE_SENTINELS.connectionFailed})`);
|
|
150
|
+
return throwSentinel(types_1.SMTP_FAILURE_SENTINELS.connectionFailed);
|
|
151
|
+
}
|
|
152
|
+
const allowInsecure = this.options_.allowInsecure === true ||
|
|
153
|
+
// A deprecated medusa-config SMTP value was already checked there.
|
|
154
|
+
Boolean(this.options_.smtp);
|
|
155
|
+
return (0, delivery_settings_1.toDeliverySettings)(settings, allowInsecure);
|
|
156
|
+
}
|
|
157
|
+
smtpTransport(smtp) {
|
|
158
|
+
if (this.options_.transport) {
|
|
159
|
+
return this.options_.transport;
|
|
160
|
+
}
|
|
161
|
+
const key = JSON.stringify(smtp);
|
|
162
|
+
if (this.smtpTransport_?.key !== key) {
|
|
163
|
+
this.smtpTransport_ = { key, transport: smtpTransportFor(smtp) };
|
|
164
|
+
}
|
|
165
|
+
return this.smtpTransport_.transport;
|
|
166
|
+
}
|
|
126
167
|
async send(notification) {
|
|
127
168
|
const content = notification.content;
|
|
128
169
|
const html = content?.html;
|
|
@@ -145,22 +186,47 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
|
|
|
145
186
|
filename: attachment.filename,
|
|
146
187
|
};
|
|
147
188
|
});
|
|
148
|
-
const from = notification.from && (0, sender_1.parseEmailSender)(notification.from)
|
|
149
|
-
? notification.from
|
|
150
|
-
: this.options_.smtp.from;
|
|
151
189
|
const identity = deliveryIdentity(notification);
|
|
190
|
+
// Settings and the Graph token are read before the delivery fence, so
|
|
191
|
+
// the fenced transaction holds only the send itself.
|
|
192
|
+
const settings = await this.deliverySettings();
|
|
193
|
+
if (settings.kind === "not_configured") {
|
|
194
|
+
this.logger_.warn(`smtp: delivery not configured (${settings.reason}); set it up under E-Mail > Versand`);
|
|
195
|
+
return throwSentinel(types_1.SMTP_FAILURE_SENTINELS.notConfigured);
|
|
196
|
+
}
|
|
197
|
+
if (settings.kind === "microsoft365") {
|
|
198
|
+
try {
|
|
199
|
+
await this.graph_.prepare(settings.graph);
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
const sentinel = error instanceof graph_transport_1.GraphDeliveryError
|
|
203
|
+
? error.sentinel
|
|
204
|
+
: types_1.SMTP_FAILURE_SENTINELS.outcomeUnknown;
|
|
205
|
+
this.logger_.error(`smtp: send failed (${sentinel})`);
|
|
206
|
+
return throwSentinel(sentinel);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const message = {
|
|
210
|
+
attachments,
|
|
211
|
+
from: settings.kind === "smtp"
|
|
212
|
+
? notification.from && (0, sender_1.parseEmailSender)(notification.from)
|
|
213
|
+
? notification.from
|
|
214
|
+
: settings.smtp.from
|
|
215
|
+
: settings.graph.mailbox,
|
|
216
|
+
html,
|
|
217
|
+
subject,
|
|
218
|
+
text,
|
|
219
|
+
to: notification.to,
|
|
220
|
+
};
|
|
152
221
|
const sendMail = async () => {
|
|
153
222
|
try {
|
|
223
|
+
if (settings.kind === "microsoft365") {
|
|
224
|
+
await this.graph_.send(settings.graph, message);
|
|
225
|
+
return { outcome: "sent", result: {} };
|
|
226
|
+
}
|
|
154
227
|
return {
|
|
155
228
|
outcome: "sent",
|
|
156
|
-
result: await this.
|
|
157
|
-
attachments,
|
|
158
|
-
from,
|
|
159
|
-
html,
|
|
160
|
-
subject,
|
|
161
|
-
text,
|
|
162
|
-
to: notification.to,
|
|
163
|
-
}),
|
|
229
|
+
result: await this.smtpTransport(settings.smtp).sendMail(message),
|
|
164
230
|
};
|
|
165
231
|
}
|
|
166
232
|
catch (error) {
|
|
@@ -226,11 +292,13 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
|
|
|
226
292
|
if (delivery.outcome === "sent") {
|
|
227
293
|
return delivery.result.messageId ? { id: delivery.result.messageId } : {};
|
|
228
294
|
}
|
|
229
|
-
const sentinel =
|
|
295
|
+
const sentinel = delivery.error instanceof graph_transport_1.GraphDeliveryError
|
|
296
|
+
? delivery.error.sentinel
|
|
297
|
+
: classifySmtpFailure(delivery.error);
|
|
230
298
|
this.logger_.error(`smtp: send failed (${sentinel})`);
|
|
231
299
|
return throwSentinel(sentinel);
|
|
232
300
|
}
|
|
233
301
|
}
|
|
234
302
|
exports.SmtpNotificationService = SmtpNotificationService;
|
|
235
303
|
SmtpNotificationService.identifier = "smtp";
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc210cC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHFEQUltQztBQUNuQyw0REFBb0M7QUFFcEMsc0RBQTZEO0FBQzdELHlEQUFxRTtBQUNyRSwwQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBa0NKLFFBQUEsYUFBYSxHQUFHO0lBQzNCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLE1BQU0sRUFBRSxNQUFNO0NBQ04sQ0FBQztBQUVYLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUVqRSxNQUFNLGNBQWMsR0FBRyxHQUFVLEVBQUU7SUFDakMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkNBQTZDLENBQzlDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLFlBQTJELEVBQ2xDLEVBQUU7SUFDM0IsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUNoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQztJQUMxRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUksWUFBaUMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsSUFDRSxDQUFDLFlBQVk7UUFDYixDQUFDLElBQUEsc0JBQWdCLEVBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxDQUFDLElBQUEsc0JBQWdCLEVBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztRQUNwQyxDQUFDLElBQUEsc0JBQWdCLEVB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
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc210cC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUFzRTtBQUV0RSxxREFJbUM7QUFDbkMsNERBQW9DO0FBRXBDLHNEQUE2RDtBQUM3RCxpRUFBa0U7QUFFbEUseURBQXFFO0FBQ3JFLG9EQUEwRDtBQUMxRCwwQ0FBb0Q7QUFDcEQsMkRBSTZCO0FBQzdCLHVEQUF1RTtBQUN2RSxtQ0FPaUI7QUFrQ0osUUFBQSxhQUFhLEdBQUc7SUFDM0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsTUFBTSxFQUFFLE1BQU07Q0FDTixDQUFDO0FBRVgsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sY0FBYyxHQUFHLEdBQVUsRUFBRTtJQUNqQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qiw2Q0FBNkMsQ0FDOUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsWUFBMkQsRUFDbEMsRUFBRTtJQUMzQixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQzFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBSSxZQUFpQyxDQUFDLEVBQUUsQ0FBQztJQUM3RCxJQUNFLENBQUMsWUFBWTtRQUNiLENBQUMsSUFBQSxzQkFBZ0IsRUFBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQzFDLENB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
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SMTP_FAILURE_SENTINELS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The only failure texts the provider throws (one line each, so the dispatch
|
|
6
|
+
* can classify them); the SMTP names are kept for the Graph transport too.
|
|
7
|
+
*/
|
|
4
8
|
exports.SMTP_FAILURE_SENTINELS = {
|
|
9
|
+
authFailed: "EMAIL_PROVIDER_AUTH_FAILED",
|
|
5
10
|
connectionFailed: "EMAIL_SMTP_CONNECTION_FAILED",
|
|
6
11
|
invalidContent: "EMAIL_SMTP_INVALID_CONTENT",
|
|
12
|
+
notConfigured: "EMAIL_PROVIDER_NOT_CONFIGURED",
|
|
7
13
|
outcomeUnknown: "EMAIL_SMTP_OUTCOME_UNKNOWN",
|
|
8
14
|
permanentRejection: "EMAIL_SMTP_PERMANENT_REJECTION",
|
|
9
15
|
transientRejection: "EMAIL_SMTP_TRANSIENT_REJECTION",
|
|
10
16
|
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3NtdHAvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0E7OztHQUdHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxVQUFVLEVBQUUsNEJBQTRCO0lBQ3hDLGdCQUFnQixFQUFFLDhCQUE4QjtJQUNoRCxjQUFjLEVBQUUsNEJBQTRCO0lBQzVDLGFBQWEsRUFBRSwrQkFBK0I7SUFDOUMsY0FBYyxFQUFFLDRCQUE0QjtJQUM1QyxrQkFBa0IsRUFBRSxnQ0FBZ0M7SUFDcEQsa0JBQWtCLEVBQUUsZ0NBQWdDO0NBQzVDLENBQUMifQ==
|
|
@@ -12,7 +12,7 @@ const sentry_logger_1 = require("../public/sentry-logger");
|
|
|
12
12
|
const options_1 = require("./options");
|
|
13
13
|
/**
|
|
14
14
|
* Builds the plain `medusa-config.ts` input of a food shop: Medusa core
|
|
15
|
-
* settings, the Redis event bus,
|
|
15
|
+
* settings, the Redis event bus, the mail provider (set up in the Admin), S3 file storage, tax and
|
|
16
16
|
* Stripe payment providers, and the Hartl Services plugins (the base plugin
|
|
17
17
|
* with its E-Mail, Documents and file storage modules plus five feature
|
|
18
18
|
* plugins). Deployment
|
|
@@ -35,7 +35,6 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
35
35
|
"COOKIE_SECRET",
|
|
36
36
|
"MEDUSA_BACKEND_URL",
|
|
37
37
|
"STOREFRONT_URL",
|
|
38
|
-
...config_1.SMTP_ENVIRONMENT_VARIABLES,
|
|
39
38
|
"STRIPE_API_KEY",
|
|
40
39
|
"STRIPE_WEBHOOK_SECRET",
|
|
41
40
|
"S3_CACHE_STORAGE_BUCKET",
|
|
@@ -43,7 +42,6 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
43
42
|
"DOCUMENT_PDF_EXECUTABLE",
|
|
44
43
|
], phase, {
|
|
45
44
|
...config_1.MEDUSA_BUILD_PLACEHOLDERS,
|
|
46
|
-
...config_1.SMTP_BUILD_PLACEHOLDERS,
|
|
47
45
|
...config_1.S3_BUILD_PLACEHOLDERS,
|
|
48
46
|
...config_1.DOCUMENTS_BUILD_PLACEHOLDERS,
|
|
49
47
|
});
|
|
@@ -101,7 +99,7 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
101
99
|
},
|
|
102
100
|
]
|
|
103
101
|
: []),
|
|
104
|
-
(0, config_1.
|
|
102
|
+
(0, config_1.createEmailNotificationModuleConfig)({ allowInsecure }),
|
|
105
103
|
s3CacheStorage.fileModule,
|
|
106
104
|
{
|
|
107
105
|
// Replaces Medusa's default auth entry (same module key): the same
|
|
@@ -299,4 +297,4 @@ function buildFoodShopConfig(options, environment = process.env) {
|
|
|
299
297
|
function defineFoodShopConfig(options, environment = process.env) {
|
|
300
298
|
return (0, utils_1.defineConfig)(buildFoodShopConfig(options, environment));
|
|
301
299
|
}
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZm9vZC1zaG9wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9idWlsZC1mb29kLXNob3AtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUVBLGtEQWlWQztBQUdELG9EQUtDO0FBbGFELHVEQUFvRDtBQUNwRCwyR0FBa0g7QUFDbEgscURBQTJFO0FBRTNFLDZDQWlCMEI7QUFDMUIsb0dBQXNGO0FBQ3RGLDRGQUFxRjtBQUNyRiwyREFBbUU7QUFFbkUsdUNBR21CO0FBbUNuQjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxPQUE4QixFQUM5QixjQUFpQyxPQUFPLENBQUMsR0FBRztJQUU1QyxJQUFBLHFDQUEyQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxJQUFBLGVBQU8sRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxhQUFhLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlFLE1BQU0sYUFBYSxHQUFHLElBQUEsb0NBQTJCLEVBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXRFLE1BQU0sR0FBRyxHQUFHLElBQUEsMkJBQWtCLEVBQzVCLFdBQVcsRUFDWDtRQUNFLGNBQWM7UUFDZCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLHlCQUF5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
|