Lean SMTP makes WordPress send its mail through a real mail service instead of the host's default PHP mail, which improves deliverability. It is deliberately small: a handful of transports, a handful of settings, no upsells.
Website:
https://leansmtp.com
Every provider below also offers plain SMTP, so the SMTP transport alone covers all of them. The API transports exist for hosts that block outbound mail ports (25/465/587), which is common on shared hosting and some managed platforms.
- SMTP — any host/port with TLS, SSL, or no encryption, optional username/password.
- Amazon SES (API) — the SES v2 API, signed with a hand-rolled AWS Signature V4 signer, so no AWS SDK is bundled.
- Mailgun (API) — US or EU region, sending the message as MIME so attachments and formatting survive untouched.
- Resend (API) — a single API key, nothing else to configure.
- Offline — record every message and send nothing, for staging sites that must never mail real customers. wp_mail() still reports success, so plugins behave exactly as they would in production.
- From identity — set the From name and address, and optionally force them over anything another plugin sets.
- Reply-To — a site-wide default for replies, useful when the From address is a no-reply. A Reply-To the message set itself is always kept.
- wp-config.php overrides — pin any setting in code instead of the database, so credentials can live in environment variables and never diverge between environments.
- Failure alerts — an admin notice when mail stops going out, so a broken mailer isn't discovered via missed password resets. It clears itself once mail works again.
- WP-CLI —
wp lean-smtp test and wp lean-smtp status.
- Test email — a button on the settings page to confirm your configuration works.
- Send log — optional; records the most recent sends (recipient, subject, result) with a viewer and a clear button. The message headers, attachment filenames and body can each be recorded too, behind their own settings and off by default.
- Encrypted secrets — stored passwords and API keys are AES-256 encrypted, keyed to your site salts.
Deliberately not included: Gmail and Microsoft 365 OAuth. Both need an OAuth consent flow, refresh-token storage, and (for Google) app verification — more machinery than the rest of this plugin combined. Use an app password or a provider above.
- Upload the plugin and activate it.
- Go to Settings → Lean SMTP.
- Choose a mailer and fill in the connection details.
- Set your From Email and From Name.
- Save, then use "Send a Test Email" to confirm it works.
For Amazon SES: create an IAM user limited to
ses:SendRawEmail/
ses:SendEmail, verify your From address (or domain) in the SES console, and, if your account is still in the SES sandbox, verify the recipient too.
For Mailgun: use the sending domain exactly as it appears in your Mailgun dashboard, and pick the region matching the account the key was issued in — a US key is not valid against the EU stack.
For Resend: create an API key with send permission and verify your From domain.