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 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:
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.wp mailkite status|test|log|purge.wp-config.php constants (MAILKITE_API_KEY, MAILKITE_DEFAULT_MAILER) for automated provisioning.wp_mail().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:
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 policyapi.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 policyapi.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 policyapi.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 policyIf 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:
hooks.slack.com, when you paste a Slack incoming-webhook URL. Terms of service · Privacy policydiscord.com, when you paste a Discord webhook URL. Terms of service · Privacy policyLeaving the alert webhook field empty means no request is ever made.