SMTP
v1.2.0
SMTP
- Updates and support included for 12 months
- License key delivered immediately by email
- 30-day money-back guarantee
- Full documentation included
- Composer-ready installation
SMTP
Replace Magento's built-in mail transport with a configurable SMTP layer that supports every common provider, logs every outgoing email, and protects staging environments from accidental sends.
Wimakeit_Smtp intercepts every outgoing email via a plugin on TransportInterfaceFactory, routes it through the SMTP server or API provider you configure, stores a structured log of what was sent (and what failed), and lets you redirect everything to a debug inbox while you test.
Who it's for
- Merchants whose hosting forbids local
sendmail(most managed Magento hosts) - Stores using a transactional provider (Gmail, Office 365, SendGrid, Mailgun, Brevo, Postmark, SES, Mailtrap, OVH, etc.)
- Agencies running preprod environments that must never email real customers by accident
- Compliance teams that need a log of every email Magento sent, with body, recipients, and status
Key benefits
- One-click provider presets — a Preset dropdown auto-fills host, port, encryption and authentication for 13 common providers (Gmail, Google Workspace, Office 365, iCloud, Yahoo, Zoho, OVH, SendGrid, Mailgun, Brevo, Postmark, Amazon SES, Mailtrap). You only enter username and password.
- Multi-provider, multi-store — Generic SMTP plus dedicated transports for SendGrid, Mailgun, Amazon SES, Brevo, Postmark, and Mailtrap. Every setting is per-store.
- Encrypted secrets — passwords and API keys are stored encrypted via Magento's
Encryptedbackend model and decrypted on demand. - Debug redirect mode — flip one switch and every outgoing email is rerouted to a list of test addresses, with the original recipient stamped into the subject. Indispensable on staging.
- Full email log — every send (success or failure) lands in
wimakeit_smtp_email_logwith recipients, sender, subject, provider, status, and error message. Optional body capture (HTML + text, 64 KB cap) gated behind a privacy toggle for GDPR compliance. - Admin grid + detail + resend — list, filter, export to CSV/XML, view the original HTML in a sandboxed iframe, and resend failed messages in bulk or one by one.
- Test from admin or CLI — a "Send Test Email" button in the configuration page, plus
bin/magento wimakeit:smtp:test --to=<email>for server-side verification. - Automatic log retention — daily cron purges entries past the configured retention period (default 30 days).
Compatibility
- Magento 2.4.6+ / Mage-OS equivalent
- PHP 8.1, 8.2, 8.3
- Requires
wimakeit/module-core^3.0 - Requires
laminas/laminas-mail^2.25 (pulled automatically; needed on Magento 2.4.7+ where it stopped being transitive) - Translations bundled for English (en_US), French (fr_FR), Dutch (nl_NL)
Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.
$ composer require wimakeit/module-smtp:^1.2.0
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile
Installation notes
The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.
Required dependencies
wimakeit/module-core^3.0laminas/laminas-mail^2.25 (Magento 2.4.7+ dropped this as a transitive dep; this module pulls it back explicitly)
Both are pulled automatically by Composer as long as the Wimakeit registry is declared in your project's composer.json.
ACL permissions
After installation, the following ACL resources are available under System → Permissions → User Roles:
| Resource | Default |
|---|---|
Wimakeit_Smtp::config (edit SMTP configuration) | granted to Administrator role only |
Wimakeit_Smtp::config_test (use Send Test Email button) | granted to Administrator role only |
Wimakeit_Smtp::email_log (parent: System → SMTP → Email Log) | granted to Administrator role only |
Wimakeit_Smtp::email_log_view (view email log entries) | granted to Administrator role only |
Wimakeit_Smtp::email_log_delete (delete email log entries) | granted to Administrator role only |
Wimakeit_Smtp::email_log_resend (resend logged emails) | granted to Administrator role only |
Assign them to your DevOps / support roles as needed.
Configuration
The module is disabled by default — Magento keeps using its native Sendmail transport until you flip the switch. Go to Stores → Configuration → WiMakeIT → SMTP.
General Settings
| Setting | Default |
|---|---|
| Enable SMTP | No — flip to Yes to activate the module |
| Provider | Generic SMTP |
| From Email | (empty) |
| From Name | (empty) |
Available providers: Generic SMTP, SendGrid, Mailgun, Amazon SES, Brevo, Postmark, Mailtrap.
Generic SMTP Settings
| Setting | Default |
|---|---|
| Preset | (none — pick to auto-fill host/port/encryption/auth) |
| Host | (empty) |
| Port | 587 |
| Username | (empty) |
| Password | (empty, stored encrypted) |
| Encryption | TLS (STARTTLS) |
| Authentication | LOGIN |
The Preset dropdown covers 13 providers (Gmail, Google Workspace, Office 365, iCloud, Yahoo, Zoho, OVH, SendGrid SMTP relay, Mailgun SMTP relay, Brevo SMTP, Postmark SMTP, Amazon SES SMTP, Mailtrap). Selecting one auto-fills host, port, encryption and authentication. You still need to enter username and password.
API Provider Settings
Visible only when the matching provider is selected. All keys are stored encrypted.
| Field | Default |
|---|---|
| SendGrid API Key | (empty) |
| Mailgun API Key + Domain | (empty) |
SES Region (e.g. eu-west-1), Access Key ID, Secret Access Key | (empty) |
| Brevo API Key | (empty) |
| Postmark Server Token | (empty) |
| Mailtrap API Token + Inbox ID | (empty) |
Debug Mode
| Setting | Default |
|---|---|
| Enable Debug Redirect | No |
| Redirect To | (empty — one email per line or comma-separated) |
When enabled, all outgoing emails are rerouted to these addresses, with subject prefix [DEBUG redirected from <original>].
Email Logging
| Setting | Default |
|---|---|
| Enable Email Logging | Yes |
| Log Retention (days) | 30 |
| Log Email Body | No — required to enable Resend; disable to limit DB size or for privacy compliance |
Test
A "Send Test Email" button at the bottom of the configuration page sends a live message to the currently logged-in admin user's email address.
Cron jobs (registered automatically)
| Job | Schedule |
|---|---|
wimakeit_smtp_purge_logs (delete log entries past retention) | daily at 03:30 |
No setup needed — just make sure Magento cron is running.
CLI commands
# Send a test email through the current configuration
bin/magento wimakeit:smtp:test --to=you@example.com
# Test against a specific store
bin/magento wimakeit:smtp:test --to=you@example.com --store=1
- Version
- v1.2.0
- License
- Annual Subscription
- Support
- 12 months
- Last updated
- Jun 5, 2026
- Magento
- Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
- PHP
- PHP 8.1 PHP 8.2 PHP 8.3
- Hyvä
- Not compatible
- Package
-
wimakeit/module-smtp
Compatibility checker
Pick your stack to see if this module fits.
Compatibility 4
Pricing & licensing 4
vendor/wimakeit/ once you composer require the package, so you can read it, audit it, and patch it locally for your own Magento install. You may NOT redistribute it, sublicense it, publish it on a public package registry, or sell it on. One licence = one production domain + one staging/dev domain (see terms for the full EULA). Wimakeit modules are NOT part of Magento's open-source repository on packagist.org — they are distributed exclusively via the private Composer registry packages.wimakeit.be. Installation & updates 6
composer require wimakeit/module-smtp:^1.1.0, then bin/magento setup:upgrade, bin/magento setup:di:compile, and finally bin/magento cache:flush. The Installation tab on this page lists every configuration step (ACLs, cron jobs, default values) so a deploy takes minutes, not hours. If you need a hand, Wimakeit offers Magento installation services from our Wallonian office (Presles, between Charleroi and Namur). auth.json: {"http-basic": {"packages.wimakeit.be": {"username": "YOUR-EMAIL", "password": "YOUR-TOKEN"}}}. Step 3: register the repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Step 4: composer require wimakeit/module-smtp:^1.1.0. In CI/CD pipelines, inject COMPOSER_AUTH as a JSON env var instead of committing auth.json. composer require, same module code, same database schema — no fork to maintain, no licence change. composer update is safe within a major. app/design/frontend/{YourVendor}/{theme}/Wimakeit_{Module}/templates/ keeping the same relative path. Blocks, ViewModels and Helpers are overridable via DI preference in your own custom module — declare <preference for="Wimakeit\…\OriginalClass" type="YourVendor\Override\Class" /> in etc/di.xml. Layout XML is extended (preferred) or overridden the standard Magento way. Wimakeit modules never use the final keyword on classes you might reasonably want to override — overriding is a first-class scenario, not a hack. Support & security 3
contact@wimakeit.com with the module name, version, Magento/Mage-OS version and the steps to reproduce. Fixes ship in the next patch release. Wimakeit support is staffed in French, English and Dutch on business days (CET working hours). contact@wimakeit.com with a clear [SECURITY] subject prefix — please include the module name, version and the steps to reproduce. We acknowledge promptly on business days and credit reporters in the Changelog if they wish. Wimakeit is a Belgian SRL (société à responsabilité limitée) bound by Belgian and EU privacy and disclosure law. About Wimakeit 1
Found something not covered by the FAQ?
Report a bug or ask a question — the form is prefilled with this module.
Changelog
Categories: Security, Feature, Fix, Perf, Admin, Deps.
[1.1.0] - 2026-05-18
Feature
- New Preset dropdown in Generic SMTP Settings auto-fills host, port, encryption and authentication for 13 common providers: Gmail, Google Workspace, Office 365, iCloud, Yahoo, Zoho, OVH, SendGrid, Mailgun, Brevo, Postmark, Amazon SES, Mailtrap. Username and password remain manual since they are tenant-specific.
Admin
- Preset selection is wired through a dedicated
frontend_model(PresetField) so the auto-fill happens in the config form without a page reload.
[1.0.2] - 2026-05
Fix
- SMTP password is now decrypted before being sent to the server. Previously the encrypted blob (
0:3:...) was forwarded verbatim, breaking every authentication with5.7.139 Authentication unsuccessfulon Office 365 (and silent rejection elsewhere). - API keys for SendGrid, Mailgun, Brevo, Postmark and Mailtrap are now decrypted the same way before use.
- The CLI test command no longer falls back to the recipient address as sender when
from_emailis empty — it now falls back to the SMTP authenticated username, matching providers that requireFrom == auth user(Office 365 Basic SMTP, Gmail, etc.).
[1.0.1] - 2026-05
Deps
- Adds explicit dependency on
laminas/laminas-mail^2.25. Magento 2.4.7+ dropped this as a transitive dependency in favour ofsymfony/mailer, which broke the SMTP transport on fresh installs withClass "Laminas\Mail\Message" not found.
[1.0.0] - 2026-05
Feature
- Initial release. SMTP transport override plugging
Magento\Framework\Mail\TransportInterfaceFactoryvia an around plugin, routing all outgoing Magento emails through the configured SMTP server. - Multi-provider support: Generic SMTP, SendGrid, Mailgun, Amazon SES (SMTP relay), Brevo, Postmark, Mailtrap.
- Per-store configuration scope for every setting (enabled, provider, from email/name, SMTP parameters).
- Generic SMTP: host, port, username, password, encryption (TLS/SSL/None), authentication type (LOGIN/PLAIN/CRAM-MD5/None).
- Debug redirect mode that intercepts all outgoing emails and reroutes them to one or more configured addresses, with subject prefix
[DEBUG redirected from <original>]. - Email logging in
wimakeit_smtp_email_log: recipients, sender, subject, provider, status, error message. Body capture optional (HTML + text, truncated to 64 KB). - Admin grid at System → SMTP → Email Log: filters, search, bookmarks, column controls, paging, CSV/XML export, color-coded status, mass delete, mass resend.
- Detail page with metadata and sandboxed
<iframe srcdoc>HTML preview. - Resend rebuilds a raw MIME message from logged body and dispatches via the current transport (requires body logging).
- "Send Test Email" button in admin config sends a live message to the logged-in admin's email.
- CLI command
wimakeit:smtp:test --to=<email> [--store=<id>]for server-side connectivity verification. - Cron
wimakeit_smtp_purge_logsdaily at 03:30 deletes entries past the configured retention period.
Security
- API keys and passwords stored encrypted via
Magento\Config\Model\Config\Backend\Encrypted. - ACL resources:
Wimakeit_Smtp::config,email_log,email_log_view,email_log_delete,email_log_resend,config_test. - HTML preview rendered inside a sandboxed iframe to neutralise any tracking pixels or scripts present in stored bodies.
Admin
- Email template
wimakeit_smtp_test_emailregistered viaemail_templates.xml. - Translations bundled for English (en_US), French (fr_FR), Dutch (nl_NL).
Found a bug? Tell us about it.
A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.
Report a bug for SMTPNeed help?
Our team is available to assist with integration.