Title: Mailyard
Author: Fahim Reza
Published: <strong>🗓️🗓️7️⃣ 16, 2026</strong>
Last modified: 🍂 🔟 9, 2026

---

Search plugins

![](https://ps.w.org/mailyard/assets/banner-772x250.png?rev=3736860)

![](https://ps.w.org/mailyard/assets/icon.svg?rev=3627449)

# Mailyard

 By [Fahim Reza](https://profiles.wordpress.org/badhonrocks/)

[Download](https://downloads.wordpress.org/plugin/mailyard.1.1.0.zip)

 * [Details](https://emoji.wordpress.org/plugins/mailyard/#description)
 * [Reviews](https://emoji.wordpress.org/plugins/mailyard/#reviews)
 *  [Installation](https://emoji.wordpress.org/plugins/mailyard/#installation)
 * [Development](https://emoji.wordpress.org/plugins/mailyard/#developers)

 [Support](https://wordpress.org/support/plugin/mailyard/)

## Description

WordPress hands your email to your web host, and most hosts are bad at email. Messages
get blocked, land in spam, or disappear without a trace. So every site I’ve run 
ended up with an SMTP plugin — and every SMTP plugin I tried did the same thing 
when the provider failed. It wrote a log entry and gave up. The password reset, 
the order receipt, the form reply: gone.

That felt wrong.

So I built Mailyard. It sends your email through a real service — Amazon SES, Postmark,
Resend, Brevo, Mailgun, SendGrid, SMTP2GO, Mailjet, MailerSend, Maileroo, or any
SMTP server — and if that service fails, it retries the same email through your 
backup, on the same send. Not in a retry queue. Not tomorrow. The email still goes
out.

That is Mailyard, and all of it is free. No locked buttons, no upgrade nags. Plugin
site: [plugpress.co/mailyard](https://plugpress.co/mailyard).

#### What it does

 * **A backup that takes over.** The moment a send fails, your backup provider tries
   the same email.
 * **Sixteen ways to send.** Amazon SES, Postmark, Resend, Brevo, Mailgun, SendGrid,
   SMTP2GO, Mailjet, MailerSend, Maileroo, Gmail, Microsoft 365 (signed in or app-
   only), Zoho Mail, custom SMTP, or plain PHP mail.
 * **A log of every email.** Every send and every failure, with the provider’s exact
   error in plain words. Search, filter, resend, export to CSV. Kept 30 days by 
   default — or 7, 90, or forever.
 * **Alerts before a customer tells you.** An email when sending fails or a backup
   had to take over (sent by your server, so it arrives even when the provider is
   what broke), on Slack, Discord or Teams too, plus an optional weekly summary.
 * **A deliverability checker.** Your SPF, DKIM, DMARC, and MX records, graded A–
   F, with the exact DNS record to add.
 * **Sender routing.** Receipts through Postmark, newsletters through Brevo — the
   right provider per sender, automatically.
 * **Bounce tracking.** Amazon SES, Postmark, Resend, and Brevo webhooks, normalized
   into one `mailyard_bounce` hook.
 * **Control WordPress’s own emails.** Switch off new-user, password-change, comment
   and auto-update notifications. Password resets always go out.
 * **Background sending and Offline mode.** Pages don’t wait on the mail server;
   staging sites log everything and send nothing.
 * **Multisite.** Set email up once on the main site for the whole network, or let
   each site do its own.
 * **Credentials kept your way.** In wp-config.php, encrypted in the database, or
   plain — and a one-file settings backup.
 * **AI tools.** Claude, Cursor, or Codex can check your setup and read the log —
   every tool has its own off switch, and nothing is exposed until you set it up.

Setup takes a minute: pick a provider, paste a key, send a test. Coming from WP 
Mail SMTP, Easy WP SMTP, FluentSMTP or Post SMTP? Mailyard finds your setup and 
imports it in one click. If another plugin is fighting you, Mailyard says so.

#### Which provider?

 * **Resend** — easiest to start with
 * **Brevo** — has a free tier, 300 emails a day
 * **Postmark** — best inbox placement, made for stores
 * **Amazon SES** — cheapest at high volume
 * **Mailgun, SendGrid, SMTP2GO, Mailjet, MailerSend, Maileroo** — already have 
   an account with one? Use it
 * **Gmail, Microsoft 365, Zoho Mail** — send from the mailbox you already have,
   signed in with OAuth (no password stored)
 * **Custom SMTP** — any SMTP server
 * **PHP mail** — your host’s server; no setup, but don’t count on it

#### Source code

The admin screens are React, built with `@wordpress/scripts`. The unminified source
lives at https://github.com/plugpressco/mailyard under `src/` — `npm install`, then`
npm run build`.

#### Privacy

Mailyard only talks to the email service you set up. It doesn’t phone home and it
doesn’t track you. The deliverability checker reads your domain’s DNS records via
your server’s resolver, falling back to Cloudflare’s public DNS only if that fails(
it sees the domain name and nothing more). If email logging is on (it is by default),
each email’s recipient, subject, and body are saved to your database — turn it off
in Settings whenever you want.

### External services

Mailyard sends your WordPress email through a third-party email service that you
choose and set up with your own account and API key. Nothing is sent anywhere until
you pick a provider and enter its credentials, and then it only goes to that one
provider (plus its fallback, if you added one).

What gets sent is the email your site is already trying to send: the recipient address(
es), the sender, the subject, the body, and any attachments. It’s sent at the moment
WordPress sends that email — a password reset, a WooCommerce order, a contact-form
reply, and so on.

Resend — email delivery API, used if you pick Resend. Each email goes to `https://
api.resend.com/emails`.
 Terms: https://resend.com/legal/terms-of-service — Privacy:
https://resend.com/legal/privacy-policy

Brevo (formerly Sendinblue) — email delivery API, used if you pick Brevo. Each email
goes to `https://api.brevo.com/v3/smtp/email`.
 Terms: https://www.brevo.com/legal/
termsofuse/ — Privacy: https://www.brevo.com/legal/privacypolicy/

Postmark — email delivery API, used if you pick Postmark. Each email goes to `https://
api.postmarkapp.com/email`.
 Terms: https://postmarkapp.com/terms-of-service — Privacy:
https://postmarkapp.com/privacy-policy

Amazon SES (Simple Email Service) — Amazon’s email delivery API, used if you pick
Amazon SES. Each email goes to `https://email.{your-region}.amazonaws.com/v2/email/
outbound-emails`. If you turn on bounce/complaint webhooks for SES, Mailyard also
confirms the Amazon SNS subscription with a one-time request to the AWS-hosted `
SubscribeURL` (it checks the host is on `amazonaws.com` first).
 Terms: https://
aws.amazon.com/service-terms/ — Privacy: https://aws.amazon.com/privacy/

Mailgun — email delivery API, used if you pick Mailgun. Each email goes to `https://
api.mailgun.net/v3/{your-domain}/messages` (or `api.eu.mailgun.net` for the EU region).

Terms: https://www.mailgun.com/legal/terms/ — Privacy: https://www.mailgun.com/legal/
privacy-policy/

SendGrid (Twilio) — email delivery API, used if you pick SendGrid. Each email goes
to `https://api.sendgrid.com/v3/mail/send`.
 Terms: https://www.twilio.com/en-us/
legal/tos — Privacy: https://www.twilio.com/en-us/legal/privacy

SMTP2GO — email delivery API, used if you pick SMTP2GO. Each email goes to `https://
api.smtp2go.com/v3/email/send`.
 Terms: https://www.smtp2go.com/terms/ — Privacy:
https://www.smtp2go.com/privacy/

Mailjet — email delivery API, used if you pick Mailjet. Each email goes to `https://
api.mailjet.com/v3.1/send`.
 Terms: https://www.mailjet.com/legal/terms/ — Privacy:
https://www.mailjet.com/legal/privacy-policy/

MailerSend — email delivery API, used if you pick MailerSend. Each email goes to`
https://api.mailersend.com/v1/email`.
 Terms and Privacy: https://www.mailersend.
com/legal

Maileroo — email delivery API, used if you pick Maileroo. Each email goes to `https://
smtp.maileroo.com/api/v2/emails`.
 Terms: https://maileroo.com/terms-conditions —
Privacy: https://maileroo.com/privacy-policy

Google (Gmail API and Google sign-in) — used if you pick Gmail. When you click Connect
account, your browser signs in at `https://accounts.google.com`, and Mailyard exchanges
and refreshes the sign-in at `https://oauth2.googleapis.com/token`. Each email goes
to `https://gmail.googleapis.com/gmail/v1/users/me/messages/send`. No password is
stored.
 Terms: https://policies.google.com/terms — Privacy: https://policies.google.
com/privacy

Microsoft (Microsoft Graph and the Microsoft identity platform) — used if you pick
Microsoft 365. Signing in (or, for app-only, the app’s own credentials) goes to `
https://login.microsoftonline.com`; each email goes to `https://graph.microsoft.
com/v1.0/me/sendMail` (or `/users/{mailbox}/sendMail` for app-only). No password
is stored.
 Terms: https://www.microsoft.com/servicesagreement — Privacy: https://
privacy.microsoft.com/privacystatement

Zoho (Zoho Mail API and Zoho accounts) — used if you pick Zoho Mail. Signing in 
and token refresh go to `https://accounts.{your data center}` (for example accounts.
zoho.com); Mailyard reads your mailbox’s account ID and verified addresses from,
and sends each email (and its attachments) to, `https://mail.{your data center}/
api/accounts`. No password is stored.
 Terms: https://www.zoho.com/terms.html — 
Privacy: https://www.zoho.com/privacy.html

Custom SMTP — if you pick the Custom SMTP option, email goes to the SMTP host and
port you enter. That’s whatever SMTP service or server you choose, so check its 
own terms and privacy policy.

Chat webhook — only if you add a webhook URL in Settings  Alerts (Slack, Discord,
Microsoft Teams, or any address you choose). Mailyard posts the alert to that URL:
your site name and address, how many emails failed, and the provider’s error message.
Email contents and recipients are never posted. The service behind the URL is one
you picked, so its own terms and privacy policy apply.

Cloudflare DNS over HTTPS — only used by the deliverability checker, and only as
a fallback when your server’s own DNS lookup fails. It sends just your domain name(
to read SPF/DKIM/DMARC/MX records) to `https://cloudflare-dns.com/dns-query`. No
email content is involved.
 Terms: https://www.cloudflare.com/website-terms/ — Privacy:
https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver/

## Installation

 1. Search for “Mailyard” in Plugins  Add New (or upload the zip), then activate.
 2. Open Settings  SMTP.
 3. Pick a provider, enter your API key, set your sender address.
 4. Hit Send test on the Overview to confirm it works.

#### Adding a backup provider

In the Connections tab, click Add, set up a second provider, enable it, and drag
it below your main one. If the main provider fails, the backup takes over automatically.

#### Coming from another SMTP plugin

Open Connections: if WP Mail SMTP, Easy WP SMTP, FluentSMTP or Post SMTP is set 
up on the site, Mailyard offers to import it — provider, credentials and sender,
without retyping a key. Then deactivate the old plugin; two mailers at once conflict,
and Mailyard will warn you if it spots one.

## FAQ

### Why is WordPress not sending emails?

By default WordPress hands `wp_mail()` to your web host’s own mail server, and web
hosts aren’t email providers: no proper SPF/DKIM authentication, shared IPs with
bad reputations, silent failures. Gmail and Outlook treat that mail as suspicious,
so it gets blocked or lands in spam. The fix is routing email through a real provider
over SMTP or an API — which is exactly what Mailyard does.

### Is Mailyard an alternative to WP Mail SMTP, FluentSMTP, or Post SMTP?

Yes — it does the same core job and adds the things most of them don’t have: automatic
failover on the same send, sender routing across multiple providers, bounce and 
complaint tracking, and a deliverability checker, all free. Deactivate the other
SMTP plugin first; two mailers at once conflict.

### Does it work with WooCommerce, Contact Form 7, Gravity Forms?

Yes. Anything that sends mail the normal WordPress way goes through Mailyard automatically—
no per-plugin setup.

### Which provider should I pick?

Just starting out: Resend — one key and you’re sending in five minutes. Running 
a store: Postmark — best sending reputation for transactional mail. Want a free 
tier: Brevo gives you 300 emails a day. High volume: Amazon SES, about $0.10 per
1,000 emails. Already have an account somewhere? Just use that.

### What if my provider goes down?

If you’ve added a backup in Connections, Mailyard retries on the same send and nothing
is lost. With only one provider, the email fails like it normally would — so add
a backup.

### Can an AI assistant use Mailyard?

Yes — that’s what Settings  Connect AI is for. Mailyard registers five tools on 
the WordPress 7.0 Abilities API: delivery status, deliverability check, read the
email log, open one logged email, and send a test. Install an MCP bridge (the free
WordPress MCP Adapter plugin), create an Application Password, and paste the endpoint
into Claude Code, Claude Desktop, Cursor, Codex, or Windsurf — the in-plugin guide
gives you the exact command. Every tool has its own on/off switch.

### Where are my API keys stored?

In your WordPress database, like any SMTP plugin’s settings. They’re only ever sent
to the provider they belong to — never to us, never anywhere else.

### Gmail or Microsoft 365?

Both work, with no password stored. Pick Gmail (personal Gmail or Google Workspace)
or Microsoft 365 (including Outlook.com), create an OAuth app in Google Cloud or
Entra ID, paste its Client ID and Secret, and click Connect account — the in-plugin
steps show the redirect URI to allow. Building a site for a client? Microsoft 365
app-only sends from a mailbox through an Entra app registration (certificate or 
client secret), so nobody has to sign in. Zoho Mail works the same way.

### How long do you keep email logs?

30 days by default, then they’re deleted automatically. Pick 7, 30 or 90 days, or
forever, in Settings  Delivery — or turn logging off entirely.

### Does uninstalling delete my data?

No. Uninstalling leaves your logs and settings alone, so you can reinstall without
losing anything. The only thing that wipes your data is the Delete all data button
in Settings, and it never runs on its own.

### Is it really free?

Yes. Every feature you can see is yours — failover, routing, bounce tracking, the
deliverability checker, the email log. Nothing is locked, metered, or held back 
for an upgrade.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Mailyard” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Fahim Reza ](https://profiles.wordpress.org/badhonrocks/)

[Translate “Mailyard” into your language.](https://translate.wordpress.org/projects/wp-plugins/mailyard)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/mailyard/), check out
the [SVN repository](https://plugins.svn.wordpress.org/mailyard/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/mailyard/) by [RSS](https://plugins.trac.wordpress.org/log/mailyard/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0 (2026/10/09)

 * Add: Six more providers — Mailgun, SendGrid, SMTP2GO, Mailjet, MailerSend and
   Maileroo.
 * Add: Gmail / Google Workspace, Microsoft 365 / Outlook (including app-only, no
   sign-in) and Zoho Mail over OAuth 2.0 — no password stored.
 * Add: One-click import from WP Mail SMTP, Easy WP SMTP, FluentSMTP or Post SMTP—
   provider, credentials and sender come over, including FluentSMTP’s backup and
   per-sender routing.
 * Add: Failure alerts by email — sent by your server’s own mailer, so they arrive
   even when the provider is what broke. Also when a backup has to take over. At
   most one per hour.
 * Add: Alerts on Slack, Discord, Microsoft Teams or any JSON webhook, with a test
   button. Individual emails are never posted.
 * Add: Weekly summary — what went out, what failed, the most common errors. Nothing
   on a quiet week.
 * Add: WordPress emails — switch off the notifications WordPress sends by itself(
   new users, password and email changes, comments, auto-update reports). Password
   resets always go out.
 * Add: Return path — send bounces to their own mailbox (SMTP and PHP Mail), per
   message via the `mailyard_return_path` filter.
 * Add: Background sending — the page answers first and the email goes out right
   after, shown as Pending in the log until then.
 * Add: Offline mode — every email is logged, none are sent. For staging and development
   sites.
 * Add: PHP Mail as a connection — your server’s own mail, no setup, handy as the
   last backup in the chain.
 * Add: The email log shows each message’s Cc, Bcc and Reply-To.
 * Add: Email log filters by provider, paging, and CSV export.
 * Add: Keep logs for 7, 30 or 90 days, or forever.
 * Add: Credentials can live in wp-config.php (`MAILYARD_{PROVIDER}_{FIELD}`, e.
   g. `MAILYARD_SMTP_PASSWORD`) instead of the database.
 * Add: Optional encryption of stored credentials, with a clear warning if the site’s
   security keys change.
 * Add: Multisite shared settings — set email up once on the main site and let every
   site use it; the sender and delivery options are each optional to share. Logs
   always stay per site.
 * Add: Settings backup — export and import settings and connections as one file;
   empty the log on its own.
 * Add: Overview panel with the week’s most common failure reasons, in plain words.
 * Add: Setup checks on the Overview — another plugin replacing wp_mail(), a From
   address on another domain, and Contact Form 7 / WPForms / Gravity Forms set to
   send “from” the visitor.
 * Update: Any logged email can be resent, not only failed ones.
 * Add: Send test names the provider that delivered it, and says so when a backup
   had to take over.
 * Update: Mailyard now lives under Settings  SMTP instead of its own top-level 
   menu, with one slim top bar (Overview, Connections, Email log, Deliverability,
   Settings) and settings sections as tabs. Old links and bookmarks redirect.
 * Update: The “email failed to send” notice shows on the WordPress Dashboard and
   Plugins screens only, with a single Dismiss link.
 * Update: Connections no longer have a Marketing/Transactional purpose; every enabled
   connection carries all mail. A connection that was set to Marketing only is switched
   off on update (its settings are kept).
 * Update: An email to several recipients goes out as one message, as WordPress 
   sends it, instead of one copy per address.
 * Fix: Cc and Bcc addresses set in email headers were dropped by every provider.
 * Fix: Custom headers (List-Unsubscribe, X-…) and attachment filenames set by the
   sending plugin now reach the provider.
 * Fix: Two connections on the same provider (two Postmark servers, say) no longer
   share one set of credentials during failover.
 * Fix: Amazon SES no longer garbles non-English text or rejects long HTML lines.
 * Fix: Custom SMTP with Encryption set to None no longer switches to TLS on its
   own.

#### 1.0.2 (2026/07/30)

 * Fix: The connection Test now sends through the same provider settings as real
   mail — a Marketing-purpose Postmark connection tests on the broadcast stream,
   not the transactional one.

#### 1.0.1 (2026/07/29)

 * Fix: Reply-To headers in “Name ” form are reduced to the bare address before 
   reaching the provider — replies to form notifications no longer bounce.
 * Fix: Emails without an explicit Content-Type header now follow `wp_mail_content_type`,
   so plain-text messages keep their line breaks.

#### 1.0.0 (2026/07/17)

 * First release!
 * Add: Six ways to send — Amazon SES, Postmark, Resend, Brevo, custom SMTP, or 
   PHP mail.
 * Add: Automatic failover to a backup provider, on the same send.
 * Add: Email log with the provider’s exact error on every failure, self-cleaning
   after 30 days.
 * Add: Deliverability checker — SPF, DKIM, DMARC, and MX records graded A–F with
   the exact DNS fix.
 * Add: Bounce and complaint webhooks for all four providers, normalized into one
   hook.
 * Add: AI agent tools (MCP) on the WordPress Abilities API, each with its own permission
   switch.

## Meta

 *  Version **1.1.0**
 *  Last updated **1 week ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 7.0 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/mailyard/)
 * Tags
 * [deliverability](https://emoji.wordpress.org/plugins/tags/deliverability/)[email](https://emoji.wordpress.org/plugins/tags/email/)
   [email log](https://emoji.wordpress.org/plugins/tags/email-log/)[mailer](https://emoji.wordpress.org/plugins/tags/mailer/)
   [smtp](https://emoji.wordpress.org/plugins/tags/smtp/)
 *  [Advanced View](https://emoji.wordpress.org/plugins/mailyard/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/mailyard/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/mailyard/reviews/)

## Contributors

 *   [ Fahim Reza ](https://profiles.wordpress.org/badhonrocks/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/mailyard/)