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 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
- | Feature | FREE | PREMIUM | ADVANCED |
401
- |---------|------|---------|----------|
402
- | **Visual Designer** | Basic builder | ✅ + template library | ✅ Pro components |
403
- | **Templates Included** | 25 | 100 | 500 |
404
- | **Drag & Drop + Mustache** | ✅ | ✅ | ✅ |
405
- | **Import / Export** | ✅ | ✅ | ✅ |
406
- | **Template Versioning** | | | ✅ |
407
- | **Analytics** | | Basic insights | Advanced dashboard |
408
- | **A/B Testing** | ❌ | ❌ | ✅ |
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 Premium SMTP:**
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: Premium SMTP
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 premium account
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: Premium SMTP
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 Premium SMTP
1360
+ // ✅ Routes via Priority SMTP
1360
1361
  // ✅ High priority headers added
1361
- // ✅ Automatic fallback if premium account unavailable
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 premium account
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: "Premium SMTP",
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(BackButton, { onClick: () => navigate("/plugins/magic-mail/designer"), children: /* @__PURE__ */ jsxRuntime.jsx(outline.ArrowLeftIcon, {}) }),
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(BackButton, { onClick: () => navigate("/plugins/magic-mail/designer"), children: /* @__PURE__ */ jsx(ArrowLeftIcon, {}) }),
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" }),
@@ -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-pjasEbqe.js")),
53
+ Component: () => Promise.resolve().then(() => require("./App-D3TchJYB.js")),
54
54
  permissions: pluginPermissions
55
55
  });
56
56
  app.createSettingSection(
@@ -48,7 +48,7 @@ const index = {
48
48
  id: `${pluginId}.plugin.name`,
49
49
  defaultMessage: "MagicMail"
50
50
  },
51
- Component: () => import("./App-bZGJVVWn.mjs"),
51
+ Component: () => import("./App-DkyWmEgv.mjs"),
52
52
  permissions: pluginPermissions
53
53
  });
54
54
  app.createSettingSection(
@@ -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().build((err, message) => {
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
  });
@@ -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().build((err, message) => {
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
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.3",
2
+ "version": "3.0.4",
3
3
  "keywords": [
4
4
  "strapi",
5
5
  "plugin",