strapi-plugin-magic-mail 3.0.0 → 3.0.2

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,17 @@
1
+ ## [3.0.2](https://github.com/Schero94/Magic-Mail/compare/v3.0.1...v3.0.2) (2026-07-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **admin:** make Test Mode option title and description readable ([ccb605c](https://github.com/Schero94/Magic-Mail/commit/ccb605c0998c4b5d05da309411adf81466b383cc))
7
+
8
+ ## [3.0.1](https://github.com/Schero94/Magic-Mail/compare/v3.0.0...v3.0.1) (2026-07-11)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **docs:** state MagicMail is fully free and drop remaining tier markers ([47118e5](https://github.com/Schero94/Magic-Mail/commit/47118e55e3ca5cc8c5c8202b55b55f81c8080497))
14
+
1
15
  # [3.0.0](https://github.com/Schero94/Magic-Mail/compare/v2.10.11...v3.0.0) (2026-07-11)
2
16
 
3
17
 
package/README.md CHANGED
@@ -1,17 +1,20 @@
1
1
  # 📧 MagicMail - Email Business Suite for Strapi v5
2
2
 
3
- > **Professional-grade multi-account email management with smart routing, OAuth 2.0 support, and complete security compliance**
3
+ > **Professional-grade multi-account email management with smart routing, OAuth 2.0 support, and complete security compliance — 100% free and open source**
4
4
 
5
5
  [![NPM Version](https://img.shields.io/npm/v/strapi-plugin-magic-mail.svg)](https://www.npmjs.com/package/strapi-plugin-magic-mail)
6
6
  [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
7
7
  [![Strapi Version](https://img.shields.io/badge/Strapi-v5.30.1-blue.svg)](https://strapi.io)
8
8
 
9
+ > 💚 **Fully free & open source (MIT).** Every feature is included for everyone — no license key, no activation, no paid tiers, and no usage limits.
10
+
9
11
  ---
10
12
 
11
13
  ## 🌟 Why MagicMail?
12
14
 
13
15
  **Stop fighting with .env files and email configuration!** MagicMail brings professional email management to Strapi v5 with:
14
16
 
17
+ - **100% Free & Open Source** - Every feature included, no license key, tiers, or limits (MIT)
15
18
  - **6 Email Providers** - Gmail, Microsoft 365, Yahoo, SMTP, SendGrid, Mailgun
16
19
  - **WhatsApp Messaging** - Send messages via WhatsApp (FREE!)
17
20
  - **OAuth 2.0 Authentication** - No passwords needed for Gmail, Microsoft, Yahoo
@@ -54,7 +57,7 @@
54
57
 
55
58
  ### Template Version History
56
59
  ![Version History](pics/emailVersionHistory.png)
57
- *Track changes and restore previous template versions (ADVANCED+)*
60
+ *Track changes and restore previous template versions*
58
61
 
59
62
  ### Template Send Test
60
63
  ![Send Test](pics/emailTemplateSendTest.png)
@@ -494,7 +497,7 @@ await strapi.plugin('magic-mail').service('email-router').send({
494
497
  // ✅ Automatically routes via SendGrid (based on category)
495
498
  ```
496
499
 
497
- ### 🔄 Template Versioning (ADVANCED+)
500
+ ### 🔄 Template Versioning
498
501
 
499
502
  Every time you save a template, a new version is created automatically:
500
503
 
@@ -512,7 +515,7 @@ await strapi
512
515
  .restoreVersion(templateId, versionId);
513
516
  ```
514
517
 
515
- ### 📦 Import/Export Templates (ADVANCED+)
518
+ ### 📦 Import/Export Templates
516
519
 
517
520
  **Export all templates:**
518
521
 
@@ -2872,8 +2872,8 @@ const TestEmailModal = ({ account, onClose, onTest }) => {
2872
2872
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 3, children: [
2873
2873
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlayIcon, { style: { width: 20, height: 20, color: testMode === "direct" ? "var(--colors-primary600, #0284C7)" : "var(--colors-neutral600)", flexShrink: 0 } }),
2874
2874
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { style: { flex: 1 }, children: [
2875
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "direct" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Direct Test" }),
2876
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "neutral500", style: { fontSize: "12px" }, children: "Send directly through this account" })
2875
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "div", fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "direct" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Direct Test" }),
2876
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "div", variant: "pi", textColor: "neutral500", style: { fontSize: "12px", marginTop: "2px" }, children: "Send directly through this account" })
2877
2877
  ] })
2878
2878
  ] })
2879
2879
  }
@@ -2886,8 +2886,8 @@ const TestEmailModal = ({ account, onClose, onTest }) => {
2886
2886
  children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 3, children: [
2887
2887
  /* @__PURE__ */ jsxRuntime.jsx(outline.SparklesIcon, { style: { width: 20, height: 20, color: testMode === "strapi" ? "var(--colors-primary600, #0284C7)" : "var(--colors-neutral600)", flexShrink: 0 } }),
2888
2888
  /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { style: { flex: 1 }, children: [
2889
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "strapi" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Strapi Service Test" }),
2890
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", textColor: "neutral500", style: { fontSize: "12px" }, children: "Verify MagicMail intercepts Strapi's email service" })
2889
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "div", fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "strapi" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Strapi Service Test" }),
2890
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "div", variant: "pi", textColor: "neutral500", style: { fontSize: "12px", marginTop: "2px" }, children: "Verify MagicMail intercepts Strapi's email service" })
2891
2891
  ] })
2892
2892
  ] })
2893
2893
  }
@@ -2849,8 +2849,8 @@ const TestEmailModal = ({ account, onClose, onTest }) => {
2849
2849
  children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 3, children: [
2850
2850
  /* @__PURE__ */ jsx(PlayIcon, { style: { width: 20, height: 20, color: testMode === "direct" ? "var(--colors-primary600, #0284C7)" : "var(--colors-neutral600)", flexShrink: 0 } }),
2851
2851
  /* @__PURE__ */ jsxs(Box, { style: { flex: 1 }, children: [
2852
- /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "direct" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Direct Test" }),
2853
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral500", style: { fontSize: "12px" }, children: "Send directly through this account" })
2852
+ /* @__PURE__ */ jsx(Typography, { tag: "div", fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "direct" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Direct Test" }),
2853
+ /* @__PURE__ */ jsx(Typography, { tag: "div", variant: "pi", textColor: "neutral500", style: { fontSize: "12px", marginTop: "2px" }, children: "Send directly through this account" })
2854
2854
  ] })
2855
2855
  ] })
2856
2856
  }
@@ -2863,8 +2863,8 @@ const TestEmailModal = ({ account, onClose, onTest }) => {
2863
2863
  children: /* @__PURE__ */ jsxs(Flex, { alignItems: "center", gap: 3, children: [
2864
2864
  /* @__PURE__ */ jsx(SparklesIcon, { style: { width: 20, height: 20, color: testMode === "strapi" ? "var(--colors-primary600, #0284C7)" : "var(--colors-neutral600)", flexShrink: 0 } }),
2865
2865
  /* @__PURE__ */ jsxs(Box, { style: { flex: 1 }, children: [
2866
- /* @__PURE__ */ jsx(Typography, { fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "strapi" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Strapi Service Test" }),
2867
- /* @__PURE__ */ jsx(Typography, { variant: "pi", textColor: "neutral500", style: { fontSize: "12px" }, children: "Verify MagicMail intercepts Strapi's email service" })
2866
+ /* @__PURE__ */ jsx(Typography, { tag: "div", fontWeight: "semiBold", style: { fontSize: "14px", color: testMode === "strapi" ? "var(--colors-primary600, #075985)" : "var(--colors-neutral800)" }, children: "Strapi Service Test" }),
2867
+ /* @__PURE__ */ jsx(Typography, { tag: "div", variant: "pi", textColor: "neutral500", style: { fontSize: "12px", marginTop: "2px" }, children: "Verify MagicMail intercepts Strapi's email service" })
2868
2868
  ] })
2869
2869
  ] })
2870
2870
  }
@@ -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-BhDvUsMa.js")),
53
+ Component: () => Promise.resolve().then(() => require("./App-D0NeObv5.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-CjlxXCZb.mjs"),
51
+ Component: () => import("./App-UREZXX2k.mjs"),
52
52
  permissions: pluginPermissions
53
53
  });
54
54
  app.createSettingSection(
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "3.0.0",
2
+ "version": "3.0.2",
3
3
  "keywords": [
4
4
  "strapi",
5
5
  "plugin",