strapi-plugin-magic-mail 3.0.3 → 3.0.4
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/CHANGELOG.md +8 -0
- package/README.md +18 -17
- package/dist/admin/{App-pjasEbqe.js → App-D3TchJYB.js} +10 -1
- package/dist/admin/{App-bZGJVVWn.mjs → App-DkyWmEgv.mjs} +10 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +3 -1
- package/dist/server/index.mjs +3 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [3.0.4](https://github.com/Schero94/Magic-Mail/compare/v3.0.3...v3.0.4) (2026-07-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **admin:** correct dark-mode navigation and free template docs ([557534f](https://github.com/Schero94/Magic-Mail/commit/557534f520cf0b562e031dc27a5c2e93485f3de9))
|
|
7
|
+
* **email:** preserve Bcc delivery for Gmail and Microsoft ([ea681ea](https://github.com/Schero94/Magic-Mail/commit/ea681ea87c04c65e69013b048646764f69c0729f))
|
|
8
|
+
|
|
1
9
|
## [3.0.3](https://github.com/Schero94/Magic-Mail/compare/v3.0.2...v3.0.3) (2026-07-11)
|
|
2
10
|
|
|
3
11
|
|
package/README.md
CHANGED
|
@@ -397,15 +397,16 @@ await strapi.plugin('magic-mail').service('email-router').send({
|
|
|
397
397
|
|
|
398
398
|
### ✨ Features
|
|
399
399
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
|
403
|
-
|
|
404
|
-
| **
|
|
405
|
-
| **
|
|
406
|
-
| **
|
|
407
|
-
| **
|
|
408
|
-
| **
|
|
400
|
+
Every Email Designer feature is included for free:
|
|
401
|
+
|
|
402
|
+
| Feature | Included |
|
|
403
|
+
|---------|----------|
|
|
404
|
+
| **Visual Designer** | ✅ |
|
|
405
|
+
| **Unlimited Templates** | ✅ |
|
|
406
|
+
| **Drag & Drop + Mustache** | ✅ |
|
|
407
|
+
| **Import / Export** | ✅ |
|
|
408
|
+
| **Template Versioning** | ✅ |
|
|
409
|
+
| **Email Analytics** | ✅ |
|
|
409
410
|
|
|
410
411
|
### 📧 Creating Email Templates
|
|
411
412
|
|
|
@@ -625,11 +626,11 @@ Target Account: SendGrid Marketing
|
|
|
625
626
|
Priority: 10
|
|
626
627
|
```
|
|
627
628
|
|
|
628
|
-
**2. Route VIP Customers via
|
|
629
|
+
**2. Route VIP Customers via Priority SMTP:**
|
|
629
630
|
```
|
|
630
631
|
Match Type: Recipient
|
|
631
632
|
Match Value: @vip-customers.com
|
|
632
|
-
Target Account:
|
|
633
|
+
Target Account: Priority SMTP
|
|
633
634
|
Fallback Account: Gmail OAuth
|
|
634
635
|
Priority: 9
|
|
635
636
|
```
|
|
@@ -1343,11 +1344,11 @@ await strapi.plugin('email').service('email').send({
|
|
|
1343
1344
|
### VIP Customer Emails
|
|
1344
1345
|
|
|
1345
1346
|
```javascript
|
|
1346
|
-
// Route VIP customers via
|
|
1347
|
+
// Route VIP customers via a priority account
|
|
1347
1348
|
// Routing Rule:
|
|
1348
1349
|
// Match Type: Recipient
|
|
1349
1350
|
// Match Value: @vip-domain.com
|
|
1350
|
-
// Target Account:
|
|
1351
|
+
// Target Account: Priority SMTP
|
|
1351
1352
|
// Fallback Account: Gmail OAuth
|
|
1352
1353
|
|
|
1353
1354
|
await strapi.plugin('email').service('email').send({
|
|
@@ -1356,9 +1357,9 @@ await strapi.plugin('email').service('email').send({
|
|
|
1356
1357
|
html: content,
|
|
1357
1358
|
priority: 'high',
|
|
1358
1359
|
});
|
|
1359
|
-
// ✅ Routes via
|
|
1360
|
+
// ✅ Routes via Priority SMTP
|
|
1360
1361
|
// ✅ High priority headers added
|
|
1361
|
-
// ✅ Automatic fallback if
|
|
1362
|
+
// ✅ Automatic fallback if the priority account is unavailable
|
|
1362
1363
|
```
|
|
1363
1364
|
|
|
1364
1365
|
---
|
|
@@ -1444,12 +1445,12 @@ https://yourdomain.com/magic-mail/oauth/yahoo/callback
|
|
|
1444
1445
|
Create complex routing rules:
|
|
1445
1446
|
|
|
1446
1447
|
```javascript
|
|
1447
|
-
// Rule 1: VIP customers via
|
|
1448
|
+
// Rule 1: VIP customers via a priority account
|
|
1448
1449
|
{
|
|
1449
1450
|
name: "VIP Customer Emails",
|
|
1450
1451
|
matchType: "recipient",
|
|
1451
1452
|
matchValue: "@vip-customers.com",
|
|
1452
|
-
accountName: "
|
|
1453
|
+
accountName: "Priority SMTP",
|
|
1453
1454
|
fallbackAccountName: "Gmail OAuth",
|
|
1454
1455
|
priority: 10,
|
|
1455
1456
|
isActive: true
|
|
@@ -5673,6 +5673,7 @@ const ImportLabel = styled__default.default.label`
|
|
|
5673
5673
|
const BackButton = styled__default.default.button`
|
|
5674
5674
|
background: ${(p) => p.theme.colors.neutral0};
|
|
5675
5675
|
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
5676
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
5676
5677
|
border-radius: 4px;
|
|
5677
5678
|
padding: 8px 10px;
|
|
5678
5679
|
height: 36px;
|
|
@@ -6219,7 +6220,15 @@ const EditorPage = () => {
|
|
|
6219
6220
|
/* @__PURE__ */ jsxRuntime.jsxs(Header$1, { children: [
|
|
6220
6221
|
/* @__PURE__ */ jsxRuntime.jsxs(HeaderRow, { children: [
|
|
6221
6222
|
/* @__PURE__ */ jsxRuntime.jsxs(HeaderLeft, { children: [
|
|
6222
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6223
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6224
|
+
BackButton,
|
|
6225
|
+
{
|
|
6226
|
+
type: "button",
|
|
6227
|
+
"aria-label": "Back to email templates",
|
|
6228
|
+
onClick: () => navigate("/plugins/magic-mail/designer"),
|
|
6229
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowLeftIcon, {})
|
|
6230
|
+
}
|
|
6231
|
+
),
|
|
6223
6232
|
/* @__PURE__ */ jsxRuntime.jsxs(TitleContainer, { children: [
|
|
6224
6233
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha", children: isCoreEmail ? `${coreEmailType === "reset-password" ? "Reset Password" : "Email Confirmation"}` : isNewTemplate ? "New Template" : `${templateData.name}` }),
|
|
6225
6234
|
!isNewTemplate && !isCoreEmail && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "neutral600", children: "Versioning enabled" }),
|
|
@@ -5650,6 +5650,7 @@ const ImportLabel = styled.label`
|
|
|
5650
5650
|
const BackButton = styled.button`
|
|
5651
5651
|
background: ${(p) => p.theme.colors.neutral0};
|
|
5652
5652
|
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
5653
|
+
color: ${(p) => p.theme.colors.neutral800};
|
|
5653
5654
|
border-radius: 4px;
|
|
5654
5655
|
padding: 8px 10px;
|
|
5655
5656
|
height: 36px;
|
|
@@ -6196,7 +6197,15 @@ const EditorPage = () => {
|
|
|
6196
6197
|
/* @__PURE__ */ jsxs(Header$1, { children: [
|
|
6197
6198
|
/* @__PURE__ */ jsxs(HeaderRow, { children: [
|
|
6198
6199
|
/* @__PURE__ */ jsxs(HeaderLeft, { children: [
|
|
6199
|
-
/* @__PURE__ */ jsx(
|
|
6200
|
+
/* @__PURE__ */ jsx(
|
|
6201
|
+
BackButton,
|
|
6202
|
+
{
|
|
6203
|
+
type: "button",
|
|
6204
|
+
"aria-label": "Back to email templates",
|
|
6205
|
+
onClick: () => navigate("/plugins/magic-mail/designer"),
|
|
6206
|
+
children: /* @__PURE__ */ jsx(ArrowLeftIcon, {})
|
|
6207
|
+
}
|
|
6208
|
+
),
|
|
6200
6209
|
/* @__PURE__ */ jsxs(TitleContainer, { children: [
|
|
6201
6210
|
/* @__PURE__ */ jsx(Typography, { variant: "alpha", children: isCoreEmail ? `${coreEmailType === "reset-password" ? "Reset Password" : "Email Confirmation"}` : isNewTemplate ? "New Template" : `${templateData.name}` }),
|
|
6202
6211
|
!isNewTemplate && !isCoreEmail && /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral600", children: "Versioning enabled" }),
|
package/dist/admin/index.js
CHANGED
|
@@ -50,7 +50,7 @@ const index = {
|
|
|
50
50
|
id: `${pluginId}.plugin.name`,
|
|
51
51
|
defaultMessage: "MagicMail"
|
|
52
52
|
},
|
|
53
|
-
Component: () => Promise.resolve().then(() => require("./App-
|
|
53
|
+
Component: () => Promise.resolve().then(() => require("./App-D3TchJYB.js")),
|
|
54
54
|
permissions: pluginPermissions
|
|
55
55
|
});
|
|
56
56
|
app.createSettingSection(
|
package/dist/admin/index.mjs
CHANGED
package/dist/server/index.js
CHANGED
|
@@ -4361,7 +4361,9 @@ var require_email_router = __commonJS({
|
|
|
4361
4361
|
date: /* @__PURE__ */ new Date()
|
|
4362
4362
|
};
|
|
4363
4363
|
return new Promise((resolve, reject) => {
|
|
4364
|
-
new MailComposer(mailOptions).compile()
|
|
4364
|
+
const compiledMessage = new MailComposer(mailOptions).compile();
|
|
4365
|
+
compiledMessage.keepBcc = true;
|
|
4366
|
+
compiledMessage.build((err, message) => {
|
|
4365
4367
|
if (err) reject(err);
|
|
4366
4368
|
else resolve(message);
|
|
4367
4369
|
});
|
package/dist/server/index.mjs
CHANGED
|
@@ -4367,7 +4367,9 @@ var require_email_router = __commonJS({
|
|
|
4367
4367
|
date: /* @__PURE__ */ new Date()
|
|
4368
4368
|
};
|
|
4369
4369
|
return new Promise((resolve, reject) => {
|
|
4370
|
-
new MailComposer(mailOptions).compile()
|
|
4370
|
+
const compiledMessage = new MailComposer(mailOptions).compile();
|
|
4371
|
+
compiledMessage.keepBcc = true;
|
|
4372
|
+
compiledMessage.build((err, message) => {
|
|
4371
4373
|
if (err) reject(err);
|
|
4372
4374
|
else resolve(message);
|
|
4373
4375
|
});
|
package/package.json
CHANGED