Custom SMTP: Email Deliverability – FREE & Easy-to-use
WordPress can't send email reliably on its own. Send through your SMTP provider, log every message, get alerts when sending breaks. Free, no upsell.
Solid choice
Custom SMTP: Email Deliverabili… is a solid plugin choice in 2026, with a few things worth checking first. It runs on 100+ sites, is rated 5/5 and was last updated 1 month ago, and scores 70/100 on our health check.
- Small user base (100+ active installs)
- Very few reviews so far
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where Custom SMTP: Email Delivera… stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| deliverability | #12 |
| >100 | |
| email logger | #9 |
| mail logger | #11 |
| smtp | #26 |
Version adoption
Share of active sites per release.
Rating breakdown
★★★★★★★★★★ 5 from 1 reviews
About Custom SMTP: Email Deliverability
From the official readme · v2.7.5Description
Make your WordPress email arrive
WordPress still hands your email to the PHP mail() function. Most hosts have switched it off or throttled it because spammers loved it, and where it still runs, unauthenticated mail lands in spam. If your contact form says thank you and nothing ever arrives, this is why.
Custom SMTP sends your email through the provider you already use instead: your host’s SMTP server, Gmail, Outlook, Brevo, SendGrid, Mailgun, Postmark or the Amazon SES API. It logs every message with its outcome, lets you preview and resend failures, and alerts you when sending spikes or starts failing. Everything is in the free plugin: no account to create, no third-party relay, no pro version.
Built for modern WordPress: WordPress 7.0 ready, PHPMailer 7.0.2 compatible, stateless / cloud-ready (Docker, Kubernetes), and fully translated in English and French.
Documentation lives at customsmtp.com/docs/, with step-by-step guides for twelve providers and a developer guide covering constants, environment variables and the Amazon SES API.
Send through your own SMTP provider
Point the plugin at the server you already pay for or the free tier you already use, with a preset that fills the technical values for you:
- Presets for twelve providers: Gmail, Outlook, Amazon SES, SendGrid, Mailgun, Brevo, Postmark, Mailjet, Zoho, Yahoo, iCloud and Scaleway, plus “Other / Custom” for any SMTP server.
- From Name and From Email applied to every outgoing email, with optional Reply-To, CC and BCC.
- SSL/TLS encryption, and optional authentication for relay servers that need none.
- Password encrypted at rest (AES-256-CBC with your WordPress salts), never displayed back in the form.
- Test without guessing: test the SMTP connection without sending anything, or send yourself a real test email.
A log of every email, with preview and resend
Never wonder if your emails were sent again. Logging works out of the box and captures every message going through wp_mail(): WooCommerce order notifications, contact form submissions, password resets, all of it.
- Delivery status (sent or failed) with the exact SMTP error when a message fails, and the stored headers for advanced troubleshooting.
- Preview the email body in wp-admin, in an Outlook-style sidebar, without sending anything again; view the HTML source, or download any email as an HTML file for archiving.
- Resend a failed email straight from the logs once your configuration is fixed.
- Search by recipient, subject or status; filter by date range; export to CSV for reporting and compliance.
- Configurable retention with automatic purge (30 days by default), and content storage you can switch off in one click.
Unusual Usage Alerts
A compromised contact form or a runaway plugin can turn your site into a spam relay, and a revoked password or an exhausted provider quota can stop your emails silently. Custom SMTP watches for both and warns you.
- Sending spikes — get an email when more messages than expected go out within an hour or a day. Thresholds are absolute, never relative, so a quiet site that sends a handful of emails a week is never woken up by statistical noise.
- Delivery failures — get warned as soon as several emails fail in a row, or when too many of the last messages sent failed. Counted over the last emails sent rather than over a period of time, so it works just as well on a site that sends twice a week as on a busy store.
- A channel that survives the outage — alerts go out by email, to an optional HTTPS webhook (Slack, Teams, any JSON endpoint), and to a persistent notice in wp-admin, because the one moment you need the alert is the moment email itself is broken.
- No noise — a configurable cooldown keeps an ongoing incident from filling your inbox, and the alert email is never logged nor counted against your own thresholds.
- Off by default — turn it on in Settings and set the thresholds that match your site.
Manage WordPress Notifications
WordPress sends a handful of emails on its own, and some of them get old fast: a notice to the administrator every single time a user resets their password, a report after every automatic plugin update, a message for every comment awaiting moderation. Switch off the ones you do not want, one checkbox each, no code.
- Password reset and new user notices to the administrator — the user still gets their reset link and their welcome email, only the copy to the admin stops.
- Automatic update reports — core, plugins and themes, separately.
- Comment notifications — awaiting moderation, and new comment to the post author.
- Nothing is hidden from you — a notification you switch off is never created, so it will not appear in the Email Logs either, and the screen tells you that.
- Account recovery is never at risk — the emails users need to regain access to their account are deliberately out of reach of this screen.
- Off means off, on stays on — installing or updating the plugin never silences an email your site was already sending.
Deliverability, privacy, security
- Cooperates with the automatic Envelope-From / Return-Path behavior introduced in WordPress 6.9, which improves SPF, DKIM and DMARC alignment on strict hosts (Amazon SES, Postmark, etc.).
- UTF-8 and emoji handled end-to-end in subjects, bodies and headers.
- All data stays in your WordPress database: no third-party calls, no telemetry, and no external processor to declare in your GDPR records.
- Email preview rendered in a sandboxed iframe, so no JavaScript from a logged email ever runs in wp-admin.
- All admin actions protected with nonces and capability checks; the SMTP password is encrypted at rest.
For developers: containers, config-as-code, Amazon SES API
The developer guide covers this surface in depth; the short version:
- Stateless and cloud-ready: no filesystem writes, no shared storage, safe on read-only filesystems. Works on Docker, Kubernetes, AWS ECS/Fargate, Google Cloud Run, and with Bedrock or Trellis stacks.
- Every setting from a constant or environment variable: define
CUSTOM_SMTP_<SETTING>and it overrides the saved value everywhere, with the field shown read-only in wp-admin and a badge naming the variable. On Multisite, a network-wide option can configure every site at once. - Amazon SES API with IAM roles: send through the SESv2 API authenticated by your ECS task role or EC2 instance role, with no access keys and no stored credentials. Raw MIME preserves HTML, attachments, CC/BCC, Reply-To and custom headers, and it works with or without the AWS SDK for PHP. Details in the FAQ below.
- Abilities API (WordPress 6.9+):
custom-smtp/connection-healthandcustom-smtp/send-test-emailare exposed to MCP-enabled AI assistants and automation tools (n8n, Make), behind the samemanage_optionscapability check as wp-admin.
Installation
- Install Custom SMTP either via the WordPress.org plugin repository or by uploading the files to your server.
- Navigate to Settings > Custom SMTP in the WordPress admin.
- Select a provider preset (Gmail, Outlook, AWS SES, SendGrid, Mailgun, Brevo, Postmark, Mailjet, Zoho, Yahoo, iCloud, Scaleway) or pick “Other / Custom” and enter your SMTP details manually.
1, 2, 3: You’re done!
On AWS (ECS/Fargate, EC2)? Choose the Amazon SES (API · IAM role) mailer instead of SMTP to send with no stored credentials — see the SES question in the FAQ.
Frequently asked questions
Where do I find the documentation?
On customsmtp.com/docs/, which covers every screen and setting of the plugin. Each provider preset also has its own step-by-step guide, with the exact values the preset fills in. The developer guide goes further: forcing any setting from a PHP constant or an environment variable, running on immutable or containerized WordPress, and sending through the Amazon SES API with an IAM role. For anything not covered there, the support forum on this page is the right place to ask.
What SMTP settings should I use?
Custom SMTP includes presets for popular providers (Gmail, Outlook, AWS SES, SendGrid, etc.). Just select your provider and settings are auto-filled.
List of SMTP Servers
Here’s a reference list of common SMTP servers: Professional Email Services * SendGrid: smtp.sendgrid.net – TLS – Port 587 * Mailgun: smtp.mailgun.org – TLS – Port 587 * Amazon SES: email-smtp.[region].amazonaws.com – TLS – Port 587 * Brevo (Sendinblue): smtp-relay.brevo.com – TLS – Port 587 * Postmark: smtp.postmarkapp.com – TLS – Port 587 * Mailjet: in-v3.mailjet.com – TLS – Port 587 * Scaleway: smtp.tem.scaleway.com – TLS – Port 587 Consumer Email Providers * Gmail: smtp.gmail.com – TLS – Port 587 * Outlook/Office365: smtp.office365.com – TLS – Port 587 * Yahoo Mail: smtp.mail.yahoo.com –…
Does it work with WooCommerce?
Yes! Custom SMTP logs all emails sent from WordPress, including WooCommerce order confirmations, shipping notifications, and customer emails.
Is it compatible with contact form plugins?
Yes, it works with Contact Form 7, WPForms, Gravity Forms, and any plugin that uses WordPress wp_mail() function.
Is it compatible with stateless/containerized WordPress?
Yes. Custom SMTP is fully stateless-compatible and works on ephemeral infrastructure (Docker, Kubernetes, AWS ECS/Fargate, Google Cloud Run, etc.) without shared storage like EFS or NFS. The plugin stores all data in the WordPress database: Settings in wp_options Email logs in a custom database table CSV exports streamed directly to the browser (no temp files) Log purge scheduled via WP-Cron (database-backed) It also works with modern WordPress stacks like Bedrock and Trellis, and can run on a read-only filesystem. Notes for stateless deployments: Ensure WordPress salts (LOGGED_IN_KEY…
Can I send through Amazon SES without storing any credentials?
Yes. Custom SMTP includes an Amazon SES (API) mailer that authenticates through your AWS IAM role (the ECS task role or EC2 instance role) using the AWS default credential chain. You never enter or store an access key, secret key, or SMTP credential — ideal for stateless, containerized WordPress on AWS ECS/Fargate. In Settings > Custom SMTP, choose “Amazon SES (API · IAM role)” as the mailer, set the region and a verified sender address (or inject them as environment variables), and you’re done. You can also provide a SES Configuration Set for bounce/complaint tracking, and “Send Test Email”…
Can I configure everything from environment variables (config-as-code)?
Yes. Every setting can be forced from a PHP constant or environment variable, which takes priority over the value saved in the database — ideal for immutable Docker images and DISALLOW_FILE_MODS deployments. Use CUSTOM_SMTP_ in uppercase, for example: CUSTOM_SMTP_MAILER_TYPE — smtp or ses_api CUSTOM_SMTP_HOST, CUSTOM_SMTP_PORT, CUSTOM_SMTP_SECURE, CUSTOM_SMTP_USERNAME, CUSTOM_SMTP_PASSWORD CUSTOM_SMTP_MAILFROM, CUSTOM_SMTP_FROMNAME, CUSTOM_SMTP_LOG_RETENTION CUSTOM_SMTP_ALERTS_ENABLED, CUSTOM_SMTP_ALERT_EMAIL, CUSTOM_SMTP_ALERT_WEBHOOK, CUSTOM_SMTP_ALERT_MAX_PER_HOUR…
Can AI assistants or automation tools manage my SMTP?
Yes, on WordPress 6.9+. Custom SMTP registers two abilities with the WordPress Abilities API: custom-smtp/connection-health returns the current SMTP state (configured, host, port, encryption, auth, logging retention) — useful for diagnostics and monitoring. custom-smtp/send-test-email triggers a test email through the configured SMTP server. Both abilities are accessible to MCP-compatible AI clients, automation workflows (n8n, Make), and other plugins. They enforce the same capability check as the wp-admin interface (manage_options), so unprivileged users or scripts cannot invoke them.
Changelog
2.7.5
The new user switch now holds whatever sends the notice
- Fixed: switching off the New user registered notification relied on a WordPress filter that some plugins bypass. A plugin that ships its own copy of the registration email, as many membership and registration plugins do, sent the “New User Registration” email to the administrator anyway. The switch now intercepts that message right before it is sent, whichever plugin builds it.
- The switch also covers the equivalent notice WordPress Multisite sends to the network administrator.
- The switch no longer requires WordPress 6.1: it now works on every version the plugin supports.
- A notification blocked this way still leaves no trace: it is not written to the Email Logs, and it is not counted as a delivery failure by the alerts.
- Thanks to @aleksandreeu on the support forum for reporting it.
2.7.4
The password reset switch now holds on every reset form
- Fixed: switching off the Password reset notification only worked for the WordPress reset form. Plugins that ship their own reset form, WooCommerce among them, send that notice themselves instead of going through the WordPress hook the switch was acting on, so the administrator kept receiving “Password Changed” emails. The switch now covers those too, whichever plugin drives the reset.
- A notification blocked this way still leaves no trace: it is not written to the Email Logs, and it is not counted as a delivery failure by the alerts.
- The other six switches are unaffected, and nothing changes for a site whose resets already went through WordPress.
- Thanks to @aleksandreeu on the support forum for reporting it.
2.7.3
Dead v1.x files removed from the package, translations unblocked
- Removed the
includes/directory inherited from version 1.x. Those files stopped being loaded in 2.5 but were still shipped in the download. Nothing changes in how the plugin works, the package is simply lighter and free of dead code. - Translators can now finish their work. The plugin exposed 281 translatable strings, of which 51 came from those leftover files and appeared nowhere in the interface. Translating the entire visible plugin capped out at 82%, below the 90% WordPress.org requires to build an official language pack. The project is now down to its 230 real strings, so the threshold is reachable: translate.wordpress.org
2.7.2
Scaleway provider preset, refreshed listing
- New provider preset: Scaleway (Transactional Email). Selecting it fills the SMTP relay (
smtp.tem.scaleway.com, port 587, TLS); the step-by-step guide covers the unusual credentials (the username is your Project ID, the password is the secret key of an API key) and the domain validation Scaleway requires before the first email. - Reorganized this plugin page: the description now follows the reader’s need (provider, email log with preview and resend, alerts, WordPress notification switches) with a single developers block at the end; the deep Amazon SES and config-as-code material stays in the FAQ.
- First banners on the listing, in English and French, matching the site’s design.
2.7.1
Documentation links
- The Documentation links in wp-admin now point to the documentation hub at customsmtp.com/docs/, and each provider preset links to its own step-by-step guide on customsmtp.com (Gmail, Outlook, Amazon SES, SendGrid, Mailgun, Brevo, Postmark, Mailjet, Zoho, Yahoo, iCloud) instead of the provider’s generic documentation. Each guide carries the exact values the preset fills in and still links to the official provider documentation.
- Completed the French translation: the settings screen, the email logs screen and the test/error messages introduced in 2.x are now fully translated, and the encryption level “None” is now translatable.
2.7.0
Manage WordPress notifications
- New WordPress Notifications section in the settings: switch off the emails WordPress sends on its own, one by one, with no code.
- Covers the password reset notice to the administrator, the new user notice to the administrator, the reports from automatic core, plugin and theme updates, the comment awaiting moderation notice, and the new comment notice to the post author.
- A notification you switch off is never created, so it does not appear in the Email Logs either. The screen says so, to avoid hunting for an email you turned off yourself.
- Emails your users need to keep control of their account, such as the password reset link itself or the address change confirmation, are deliberately out of reach: a settings screen should never be able to break account recovery.
- Nothing is switched off by default, so installing or updating the plugin never silences an email your site was already sending.
- Each switch is a normal setting, so it can be forced from a PHP constant or environment variable like everything else (
CUSTOM_SMTP_NOTIFY_ADMIN_PASSWORD_RESETand friends). - Thanks to @aleksandreeu on the support forum for asking for this.
Screenshots
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best Custom SMTP: Email Deliverabi… alternatives
All deliverability plugins →FAQ
Custom SMTP: Email Deliverability: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 2, 2026
Is Custom SMTP: Email Deliverabili… free?
Yes. Custom SMTP: Email Deliverabili… is free to download and use from the official WordPress.org plugin directory.
Is Custom SMTP: Email Deliverabili… safe to use in 2026?
Custom SMTP: Email Deliverabili… is a solid plugin choice in 2026, with a few things worth checking first. It runs on 100+ sites, is rated 5/5 and was last updated 1 month ago, and scores 70/100 on our health check.
How many websites use Custom SMTP: Email Deliverabili…?
Custom SMTP: Email Deliverabili… is active on 100+ WordPress websites and has been downloaded 4,898 times since it launched in April 2024. It was downloaded 224 times in the last 30 days.
Does Custom SMTP: Email Deliverabili… work with WordPress 7.1?
Custom SMTP: Email Deliverabili… is officially tested up to WordPress 7.0.6, while the latest release is 7.1.2. It may still work, but try it on a staging site first.
What PHP version does Custom SMTP: Email Deliverabili… need?
Custom SMTP: Email Deliverabili… requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was Custom SMTP: Email Deliverabili… last updated?
The latest version, 2.7.5, was released on August 26, 2026 (1 month ago).
Who makes Custom SMTP: Email Deliverabili…?
Custom SMTP: Email Deliverabili… is developed and maintained by Nicolas Verlhiac.
What are the best alternatives to Custom SMTP: Email Deliverabili…?
The most popular alternatives to Custom SMTP: Email Deliverabili… are WP Mail Logging (300K+ installs), Meow Mailer (800+ installs) and Deliverability (700+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card