strapi-plugin-magic-mail 2.10.11 → 3.0.1

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.
Files changed (27) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +28 -14
  3. package/dist/{_chunks/App-CInlcJMb.js → admin/App-BhDvUsMa.js} +97 -789
  4. package/dist/{_chunks/App-D4bFKNcg.mjs → admin/App-CjlxXCZb.mjs} +109 -801
  5. package/dist/{_chunks/PluginSettings-cZXE_vy8.js → admin/PluginSettings-Css2nHrB.js} +10 -4
  6. package/dist/{_chunks/PluginSettings-XwyzH95_.mjs → admin/PluginSettings-Duc_Y571.mjs} +10 -4
  7. package/dist/{_chunks/StyledButtons-CdOf4Sps.mjs → admin/StyledButtons-aq1EWrQ-.mjs} +1 -2
  8. package/dist/{_chunks/StyledButtons-DVGuFoqy.js → admin/StyledButtons-jHF7TXal.js} +1 -2
  9. package/dist/{_chunks/de-CF2ItE3Z.js → admin/de-DKEFnBGC.js} +0 -21
  10. package/dist/{_chunks/de-CwbYw2jT.mjs → admin/de-SKsLY2de.mjs} +0 -21
  11. package/dist/{_chunks/en-CK6UpShS.js → admin/en-CvtZE1HH.js} +0 -21
  12. package/dist/{_chunks/en-ZRmfU4qX.mjs → admin/en-Ds2Q7fue.mjs} +0 -21
  13. package/dist/{_chunks/es-DQHwzPpP.mjs → admin/es-BEvzLtTg.mjs} +20 -21
  14. package/dist/{_chunks/es-BpV1MIdm.js → admin/es-BbLLes3D.js} +20 -21
  15. package/dist/{_chunks/fr-BG1WfEVm.mjs → admin/fr-CRpwImX6.mjs} +20 -21
  16. package/dist/{_chunks/fr-vpziIpRp.js → admin/fr-nH9uN6s9.js} +20 -21
  17. package/dist/admin/index.js +6 -44
  18. package/dist/admin/index.mjs +4 -43
  19. package/dist/{_chunks/pt-CMoGrOib.mjs → admin/pt-CjOe2N_n.mjs} +20 -21
  20. package/dist/{_chunks/pt-ODpAhDNa.js → admin/pt-qt_48NxL.js} +20 -21
  21. package/dist/server/index.js +8052 -17573
  22. package/dist/server/index.mjs +8079 -17578
  23. package/package.json +40 -27
  24. package/dist/_chunks/LicensePage-B61HnhyD.mjs +0 -352
  25. package/dist/_chunks/LicensePage-sB-xDRL9.js +0 -354
  26. package/dist/_chunks/Settings-BRFoD1yZ.js +0 -354
  27. package/dist/_chunks/Settings-DoSrZKfp.mjs +0 -352
package/CHANGELOG.md CHANGED
@@ -1,3 +1,42 @@
1
+ ## [3.0.1](https://github.com/Schero94/Magic-Mail/compare/v3.0.0...v3.0.1) (2026-07-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **docs:** state MagicMail is fully free and drop remaining tier markers ([47118e5](https://github.com/Schero94/Magic-Mail/commit/47118e55e3ca5cc8c5c8202b55b55f81c8080497))
7
+
8
+ # [3.0.0](https://github.com/Schero94/Magic-Mail/compare/v2.10.11...v3.0.0) (2026-07-11)
9
+
10
+
11
+ * feat(free)!: make MagicMail fully free and remove all licensing and telemetry ([d713246](https://github.com/Schero94/Magic-Mail/commit/d71324630bd9fb00d838dbbc25581f73e815bb5c))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **admin:** repair broken admin contracts and toggle accessibility ([e436849](https://github.com/Schero94/Magic-Mail/commit/e436849d404bf66a7093f7b5980f2f7b45bfc26f))
17
+ * **delivery:** correct provider adapters, failover accounting and quota atomicity ([755ccfe](https://github.com/Schero94/Magic-Mail/commit/755ccfea866c16cd54dbe7cfcd203421362aa241))
18
+ * **domain:** correct account, settings, template, routing and lifecycle contracts ([e81bea9](https://github.com/Schero94/Magic-Mail/commit/e81bea99a942e776265673b813e63772715062d8))
19
+ * **security:** close OAuth XSS, duplicate delivery, tracking and sanitization gaps ([e7a1bc9](https://github.com/Schero94/Magic-Mail/commit/e7a1bc9c9514fcb3405ca6155d6b90b970b0a56b))
20
+
21
+
22
+ ### BREAKING CHANGES
23
+
24
+ * The license system is removed. The admin /license/* endpoints,
25
+ the license-guard service, the paid-tier feature gates, the license admin pages,
26
+ and all device/telemetry pings to the former license server no longer exist.
27
+ Every feature (all providers, unlimited accounts, routing rules, templates, and
28
+ version history) is available to everyone with no license key or activation.
29
+ Existing installations keep working; any stored license key is ignored.
30
+
31
+ - Server: delete license-guard service, license controller, /license/* routes,
32
+ config/features.js, and every license call site (email-router, accounts,
33
+ oauth, routing-rules, email-designer).
34
+ - Admin: delete LicensePage, license Settings page, useLicense hook and
35
+ LicenseGuard; drop the Upgrade/License settings links and the license
36
+ heartbeat; render every tab/feature and template versioning unconditionally;
37
+ remove paywalls and upgrade CTAs; drop license/tier translation keys.
38
+ - README: remove the license-validation "additional condition" and tier limits.
39
+
1
40
  ## [2.10.11](https://github.com/Schero94/Magic-Mail/compare/v2.10.10...v2.10.11) (2026-04-21)
2
41
 
3
42
 
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)
@@ -138,7 +141,10 @@ await strapi.plugin('magic-mail').service('email-router').sendMessage({
138
141
  // POST /api/magic-mail/send-whatsapp
139
142
  await fetch('/api/magic-mail/send-whatsapp', {
140
143
  method: 'POST',
141
- headers: { 'Content-Type': 'application/json' },
144
+ headers: {
145
+ 'Content-Type': 'application/json',
146
+ 'Authorization': 'Bearer YOUR_STRAPI_API_TOKEN'
147
+ },
142
148
  body: JSON.stringify({
143
149
  phoneNumber: '+491234567890',
144
150
  message: 'Hello from MagicMail!'
@@ -148,7 +154,10 @@ await fetch('/api/magic-mail/send-whatsapp', {
148
154
  // POST /api/magic-mail/send-message (unified)
149
155
  await fetch('/api/magic-mail/send-message', {
150
156
  method: 'POST',
151
- headers: { 'Content-Type': 'application/json' },
157
+ headers: {
158
+ 'Content-Type': 'application/json',
159
+ 'Authorization': 'Bearer YOUR_STRAPI_API_TOKEN'
160
+ },
152
161
  body: JSON.stringify({
153
162
  channel: 'whatsapp',
154
163
  phoneNumber: '+491234567890',
@@ -234,6 +243,8 @@ When both **MagicMail** and **Magic-Link** are installed:
234
243
 
235
244
  ### Installation
236
245
 
246
+ Requires Node.js 20.19 or newer and Strapi 5.50 or newer.
247
+
237
248
  ```bash
238
249
  npm install strapi-plugin-magic-mail
239
250
  # or
@@ -486,7 +497,7 @@ await strapi.plugin('magic-mail').service('email-router').send({
486
497
  // ✅ Automatically routes via SendGrid (based on category)
487
498
  ```
488
499
 
489
- ### 🔄 Template Versioning (ADVANCED+)
500
+ ### 🔄 Template Versioning
490
501
 
491
502
  Every time you save a template, a new version is created automatically:
492
503
 
@@ -504,7 +515,7 @@ await strapi
504
515
  .restoreVersion(templateId, versionId);
505
516
  ```
506
517
 
507
- ### 📦 Import/Export Templates (ADVANCED+)
518
+ ### 📦 Import/Export Templates
508
519
 
509
520
  **Export all templates:**
510
521
 
@@ -563,8 +574,8 @@ console.log(stats);
563
574
  // { category: 'marketing', count: 4 },
564
575
  // { category: 'notification', count: 3 }
565
576
  // ],
566
- // maxTemplates: 3, // FREE tier limit
567
- // remaining: 0 // Upgrade needed!
577
+ // maxTemplates: -1, // unlimited (all features are free)
578
+ // remaining: -1 // unlimited
568
579
  // }
569
580
  ```
570
581
 
@@ -589,8 +600,7 @@ console.log(rendered.html); // Preview HTML
589
600
 
590
601
  **3. Version Control**
591
602
  ```javascript
592
- // ADVANCED+: Keep version history
593
- // Automatically enabled for ADVANCED and ENTERPRISE licenses
603
+ // Template version history is always enabled (free for everyone).
594
604
  ```
595
605
 
596
606
  **4. Organize with Tags**
@@ -1386,8 +1396,12 @@ DATABASE_NAME=strapi
1386
1396
  DATABASE_USERNAME=strapi
1387
1397
  DATABASE_PASSWORD=password
1388
1398
 
1389
- # Optional - Custom encryption key
1390
- ENCRYPTION_KEY=your-32-byte-secret-key-here
1399
+ # Required in production. Keep this stable across deploys and backups.
1400
+ # Generate: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
1401
+ MAGIC_MAIL_ENCRYPTION_KEY=your-generated-secret-with-at-least-32-bytes
1402
+
1403
+ # Optional dedicated OAuth-state signing secret. APP_KEYS is used otherwise.
1404
+ MAGIC_MAIL_OAUTH_STATE_SECRET=your-generated-secret-with-at-least-32-bytes
1391
1405
  ```
1392
1406
 
1393
1407
  ### OAuth Callback URLs
@@ -1539,8 +1553,8 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
1539
1553
 
1540
1554
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1541
1555
 
1542
- **ADDITIONAL CONDITION:**
1543
- The license validation system (including but not limited to license-guard.js, license controller, and related API endpoints) must remain intact and functional. Removing, bypassing, or disabling the license validation system is strictly prohibited.
1556
+ MagicMail is fully free and open source. Every feature is available to everyone
1557
+ with no license key, tier, activation, or usage limit.
1544
1558
 
1545
1559
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1546
1560