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.
- package/CHANGELOG.md +39 -0
- package/README.md +28 -14
- package/dist/{_chunks/App-CInlcJMb.js → admin/App-BhDvUsMa.js} +97 -789
- package/dist/{_chunks/App-D4bFKNcg.mjs → admin/App-CjlxXCZb.mjs} +109 -801
- package/dist/{_chunks/PluginSettings-cZXE_vy8.js → admin/PluginSettings-Css2nHrB.js} +10 -4
- package/dist/{_chunks/PluginSettings-XwyzH95_.mjs → admin/PluginSettings-Duc_Y571.mjs} +10 -4
- package/dist/{_chunks/StyledButtons-CdOf4Sps.mjs → admin/StyledButtons-aq1EWrQ-.mjs} +1 -2
- package/dist/{_chunks/StyledButtons-DVGuFoqy.js → admin/StyledButtons-jHF7TXal.js} +1 -2
- package/dist/{_chunks/de-CF2ItE3Z.js → admin/de-DKEFnBGC.js} +0 -21
- package/dist/{_chunks/de-CwbYw2jT.mjs → admin/de-SKsLY2de.mjs} +0 -21
- package/dist/{_chunks/en-CK6UpShS.js → admin/en-CvtZE1HH.js} +0 -21
- package/dist/{_chunks/en-ZRmfU4qX.mjs → admin/en-Ds2Q7fue.mjs} +0 -21
- package/dist/{_chunks/es-DQHwzPpP.mjs → admin/es-BEvzLtTg.mjs} +20 -21
- package/dist/{_chunks/es-BpV1MIdm.js → admin/es-BbLLes3D.js} +20 -21
- package/dist/{_chunks/fr-BG1WfEVm.mjs → admin/fr-CRpwImX6.mjs} +20 -21
- package/dist/{_chunks/fr-vpziIpRp.js → admin/fr-nH9uN6s9.js} +20 -21
- package/dist/admin/index.js +6 -44
- package/dist/admin/index.mjs +4 -43
- package/dist/{_chunks/pt-CMoGrOib.mjs → admin/pt-CjOe2N_n.mjs} +20 -21
- package/dist/{_chunks/pt-ODpAhDNa.js → admin/pt-qt_48NxL.js} +20 -21
- package/dist/server/index.js +8052 -17573
- package/dist/server/index.mjs +8079 -17578
- package/package.json +40 -27
- package/dist/_chunks/LicensePage-B61HnhyD.mjs +0 -352
- package/dist/_chunks/LicensePage-sB-xDRL9.js +0 -354
- package/dist/_chunks/Settings-BRFoD1yZ.js +0 -354
- 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
|
[](https://www.npmjs.com/package/strapi-plugin-magic-mail)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](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
|

|
|
57
|
-
*Track changes and restore previous template versions
|
|
60
|
+
*Track changes and restore previous template versions*
|
|
58
61
|
|
|
59
62
|
### Template Send Test
|
|
60
63
|

|
|
@@ -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: {
|
|
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: {
|
|
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
|
|
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
|
|
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:
|
|
567
|
-
// remaining:
|
|
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
|
-
//
|
|
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
|
-
#
|
|
1390
|
-
|
|
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
|
-
|
|
1543
|
-
|
|
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
|
|