WordPress plugin intelligence profile

MailKite SMTP – Multi-Provider SMTP with Failover, Email Logs & Inbound Email

Reliable WordPress email: MailKite, SendGrid, Brevo, Mailgun or any SMTP — free logs, automatic failover, instant alerts, inbound email.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version0.4.2
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.2 · PHP 8.1
Directory statusactive
Last directory update3 Sept 20262mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records MailKite SMTP – Multi-Provider SMTP with Failover, Email Logs & Inbound Email version 0.4.2 as active, updated 2mo ago and tested up to WordPress 7.1.

Overview

About this plugin

WordPress sends email through PHP mail() by default — unauthenticated, often blocked, and invisible when it fails. MailKite SMTP replaces it with reliable delivery, a free email log, automatic failover, and inbound email.

Free forever. No Pro tier. No locked features.

Open source.

Send through any provider

  • MailKite (recommended): free tier, ~2-minute setup, open/click tracking, and inbound email. Sign up at mailkite.dev.
  • SendGrid, Brevo, Mailgun — bring your own API key.
  • Any SMTP server — host, port, TLS/SSL, credentials.
  • Routing rules: send WooCommerce receipts via one provider and newsletters via another, by subject or recipient.

Never lose an email

  • Automatic failover — if the API provider fails, the email retries through your SMTP server or PHP mail, free.
  • Instant failure alerts — email, Slack, Discord, or any webhook, the moment a send fails (rate-limited, no alert storms).
  • Email log with resend and CSV export, configurable retention, and one-click resend of failures.
  • Weekly summary — sent/failed counts, top errors, and DNS status in your inbox.

Private by design

  • Auth-email redaction (on by default): bodies of password-reset and verification emails are never stored, so a leaked database or log page can never leak reset links.
  • Stored credentials are encrypted at rest (AES-256-GCM keyed from your wp-config salts).
  • No telemetry. No external calls until you connect a provider.

Receive email in WordPress

Send email and receive it too. Turn inbound on (one click — the webhook and its signature verification are installed on your MailKite domain automatically) and you get three things:

  • Turn an email into a WordPress action. Every message fires do_action( 'mailkite_smtp_inbound', $message, $payload ), so your plugins and theme can act on it: open a support ticket, attach a customer’s reply to their WooCommerce order, post to a forum, hand it to an AI agent.
  • Nothing vanishes. Your site sends from a no-reply address and people reply anyway; bounces and out-of-office notices come back too. Without inbound those are lost silently — with it they land in the Email Log next to the message they answer, and you can reply from WordPress, in-thread, as your own domain.
  • Or just forward it. No code: send a copy of everything to an address you already read.

For professionals

  • One-click migration from WP Mail SMTP, Easy WP SMTP, FluentSMTP, and Post SMTP.
  • WP-CLI: wp mailkite status|test|log|purge.
  • Site Health integration and a Domain Health tab (SPF/DMARC checks with weekly drift alerts).
  • Settings export/import (secrets excluded) and wp-config.php constants ( MAILKITE_API_KEY, MAILKITE_DEFAULT_MAILER ) for automated provisioning.
  • Works with WooCommerce, Contact Form 7, WPForms, and anything using wp_mail().

External services

This plugin does not contact any external service until you choose a mailer and enter its credentials. Out of the box, with the built-in PHP mailer or your own SMTP server, no data leaves your site to any third party.

When you select an API-based mailer, the email you send — sender, recipients, subject, body, and any attachments — is transmitted to that provider at the moment the email is sent, because that provider is what delivers it. Each service, the host it contacts, and what is sent:

  • MailKite — host api.mailkite.dev (configurable; the plugin contacts whatever host is set as the API base). Used to deliver outbound email through your MailKite account, to report delivery events back into the Email Log, and — if you turn inbound on — to register a webhook so MailKite can deliver received email to your site. Sent when you send mail: the message and its attachments. Sent when you connect your account: your email address (to create an account) or an OAuth authorization, and the domain id you pick for inbound. Received from MailKite: inbound email addressed to your domain. Terms of service · Privacy policy
  • SendGrid — host api.sendgrid.com. Used to deliver outbound email with your SendGrid API key. Sent when you send mail: the message and its attachments. Terms of service · Privacy policy
  • Brevo — host api.brevo.com. Used to deliver outbound email with your Brevo API key. Sent when you send mail: the message and its attachments. Terms of use · Privacy policy
  • Mailgun — host api.mailgun.net, or api.eu.mailgun.net when you select the EU region. Used to deliver outbound email with your Mailgun API key. Sent when you send mail: the message and its attachments. Terms of service · Privacy policy
  • Your own SMTP server — the host, port, and credentials you configure. Used to deliver outbound email. Sent when you send mail: the message and its attachments. This is your own or your host’s server; no third-party terms apply.

Failure alerts (optional, off unless you configure them)

If you enter an alert webhook URL, the plugin sends a notification to that URL, and only when an email fails to send. What is sent: your site’s hostname, the failed message’s subject line, and the error text reported by the mailer. The message body is never included, and recipients are not sent as a field — though a provider’s error text can itself quote an address it rejected.

The URL is yours to choose, so the receiving service is whichever one you point it at — commonly:

  • Slack — host hooks.slack.com, when you paste a Slack incoming-webhook URL. Terms of service · Privacy policy
  • Discord — host discord.com, when you paste a Discord webhook URL. Terms of service · Privacy policy
  • Any other endpoint you supply, including one on your own infrastructure, which receives the same JSON payload.

Leaving the alert webhook field empty means no request is ever made.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • email log
  • wp mail
  • deliverability
  • smtp
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.2 · PHP 8.1
Update activity3 Sept 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.