Directory / plugin

Mailyard

v1.1.0 · by Fahim Reza

Sends your WordPress email through Amazon SES, Postmark, Resend, Brevo, Mailgun, SendGrid, or any SMTP — and switches to a backup when a send fails.

About this plugin

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.

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/

Plugin tags