Magic-Mail — FAQ
Compatibility
Does Magic-Mail work with Strapi v5?
Yes. Magic-Mail is built specifically for Strapi v5 (v5.0.0 or higher) and uses the modern Document Service API. Strapi v4 is not supported.
Which Node.js versions are supported?
Node.js 18.x, 20.x, and 22.x (LTS versions). Node 16 and earlier are not supported.
Which databases work with Magic-Mail?
All Strapi-supported databases: SQLite, PostgreSQL, MySQL, and MariaDB.
Pricing
Is there a free tier?
Yes. The free tier includes:
- 3 email accounts
- All 6 providers (Gmail, Microsoft 365, Yahoo, SMTP, SendGrid, Mailgun)
- Smart routing and automatic failover
- 25 email templates
- Visual designer (basic)
No credit card required, no time limit.
What's the difference between Premium and Advanced?
| Capability | Free | Premium ($14.50/mo) | Advanced ($39.50/mo) |
|---|---|---|---|
| Email accounts | 3 | Unlimited | Unlimited |
| Templates | 25 | 100 | 500 |
| Version history | — | ✓ | ✓ |
| Analytics | — | Basic | Advanced |
| A/B testing | — | — | ✓ |
| Priority support | — | — | ✓ |
Can I cancel anytime?
Yes. Monthly subscriptions cancel at the end of the current period. Free tier features continue working after cancellation — your data is never deleted.
Is there a money-back guarantee?
Yes, 30 days on all paid tiers. Contact support@magicdx.dev for refunds.
Features & capabilities
Can I use Magic-Mail without OAuth?
Yes. SMTP is a fully supported provider and works with any SMTP server:
- Gmail SMTP (with App Password)
- Zoho, Outlook, Yahoo SMTP
- Amazon SES
- Self-hosted (Postfix, etc.)
Does Magic-Mail replace Strapi's built-in email plugin?
Yes. Magic-Mail automatically intercepts strapi.plugin('email').service('email').send(...). You do not need @strapi/provider-email-nodemailer, @strapi/provider-email-sendgrid, etc. Remove those from config/plugins.ts when installing Magic-Mail.
Can I send emails from multiple accounts?
Yes. That's the whole point. Add as many accounts as you need (free tier: up to 3) and routing rules decide which one sends each email.
Can Magic-Mail send bulk marketing emails?
Yes. Route marketing emails to SendGrid or Mailgun (optimized for volume). Magic-Mail automatically adds List-Unsubscribe headers when you pass type: 'marketing'.
Example routing setup:
Rule: Marketing via SendGrid
Condition: type === 'marketing'
Account: SendGrid (100k free tier)
Fallback: MailgunHow many emails per day can I send?
Total capacity = sum of all configured accounts' limits. With 3 free accounts:
- Gmail Free: 500/day
- SendGrid Free: 100/day (100/hour)
- SMTP (self-hosted): limited by your server
= ~700 emails/day free. Add Workspace Gmail or paid SendGrid for more.
Does Magic-Mail support attachments?
Yes, though per-provider limits vary:
| Provider | Max size |
|---|---|
| Gmail / Microsoft 365 / Yahoo | 25 MB |
| SMTP | Server-dependent (typically 25 MB) |
| SendGrid | 30 MB (encoded) |
| Mailgun | 10 MB |
Can I schedule emails for later delivery?
Not directly in Magic-Mail. Use Strapi's task scheduling (node-cron) and call strapi.plugin('email').service('email').send(...) at the scheduled time. Support for Magic-Mail's own queue system is on the roadmap.
Does Magic-Mail support transactional emails from user events?
Yes. Hook into Strapi lifecycle hooks:
export default {
lifecycles: {
async afterCreate({ result }) {
await strapi.plugin('email').service('email').send({
to: result.email,
subject: 'Welcome!',
html: `<h1>Welcome ${result.username}</h1>`,
type: 'transactional',
});
},
},
};Security & privacy
How are credentials stored?
All credentials (OAuth tokens, SMTP passwords, API keys) are encrypted with AES-256-GCM before being saved to your database. Use a custom MAGIC_MAIL_ENCRYPTION_KEY in production for defense in depth.
Is any data sent to Magic-Mail servers?
No. Magic-Mail runs entirely inside your Strapi instance. It talks directly to your configured providers (Google, Microsoft, SendGrid, etc.) — no data passes through a Joulee Tech server. License verification does occasionally contact our license server, but never includes email content.
Is Magic-Mail GDPR-compliant?
Yes. Marketing emails get List-Unsubscribe and List-Unsubscribe-Post headers automatically for one-click unsubscribe, which is required by GDPR. All processing happens within your infrastructure.
Does it work with SOC 2 / ISO 27001 environments?
Yes. Because all data stays in your infrastructure, Magic-Mail inherits your SOC 2 / ISO 27001 posture. Credentials are encrypted at rest. OAuth flows use PKCE and state verification.
Deployment
Can multiple Strapi instances share email accounts?
Yes. Magic-Mail reads accounts from the shared database. For accurate rate-limit enforcement across instances, configure Redis via REDIS_URL:
REDIS_URL=redis://redis-host:6379Does Magic-Mail work in Docker / Kubernetes?
Yes. It's just a regular Strapi plugin — package it with your Strapi Docker image like any other dependency.
Can I use Magic-Mail in a serverless / ephemeral environment?
Yes, with a persistent database (Postgres/MySQL) and ideally Redis for rate-limit state. SQLite does not work well in ephemeral environments.
Integration
Can I use Magic-Mail with Magic-Link?
Yes — they're designed to work together. Magic-Link automatically uses Magic-Mail to send authentication emails when both plugins are installed.
export default () => ({
'magic-mail': { enabled: true },
'magic-link': { enabled: true },
});How do I migrate from another email plugin?
- Install Magic-Mail alongside your existing plugin.
- Create at least one Magic-Mail account (copy credentials from the existing provider).
- Test with the Test button.
- Remove the old provider from
config/plugins.ts. - Rebuild and restart.
No code changes required — all strapi.plugin('email').service('email').send(...) calls route through Magic-Mail automatically.
Can I use the Strapi Email Designer plugin with Magic-Mail?
Yes. Install strapi-plugin-email-designer-5 alongside Magic-Mail. The designer creates templates that Magic-Mail can reference via templateId.
Licensing
What happens when a paid license expires?
Free-tier features continue working. Premium/Advanced features (version history, unlimited templates, A/B testing) become locked. Your data is never deleted. Reactivate anytime to regain access.
Can I use one license for multiple projects?
Yes. A single license covers unlimited Strapi projects for the same organization. Don't share the license key across organizations.
Do I need an internet connection to activate?
Only at first activation and then once a week (in the background) for license validation. Magic-Mail works fully offline between validations.
Still have questions? support@magicdx.dev or open a GitHub Discussion.