{"id":333941,"date":"2026-07-16T21:56:18","date_gmt":"2026-07-16T21:56:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mailyard\/"},"modified":"2026-07-29T16:26:27","modified_gmt":"2026-07-29T16:26:27","slug":"mailyard","status":"publish","type":"plugin","link":"https:\/\/arq.wordpress.org\/plugins\/mailyard\/","author":8610910,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0.2","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"Mailyard","header_author":"PlugPress","header_description":"Reliable email delivery for WordPress. Route emails through Amazon SES, Postmark, Resend, or any SMTP server with smart failover.","assets_banners_color":"ffffff","last_updated":"2026-07-29 16:26:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/mailyard.co","header_author_uri":"https:\/\/plugpress.co","rating":0,"author_block_rating":0,"active_installs":0,"downloads":81,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"badhonrocks","date":"2026-07-16 21:56:05"},"1.0.1":{"tag":"1.0.1","author":"badhonrocks","date":"2026-07-29 16:26:27"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3627529,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3627529,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3627449,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3627529,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3627529,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Setup \u2014 pick a provider, paste your key, set your sender address.","2":"Dashboard \u2014 sending health, the last 14 days of volume, recent activity.","3":"Connections \u2014 add providers and drag to choose the primary and its backup.","4":"Deliverability \u2014 every sending domain graded A\u2013F, with the exact DNS fix for anything that fails.","5":"Email Logs \u2014 every send, with status and the error if it failed.","6":"Settings \u2192 Connect AI \u2014 the master switch and per-tool permissions for AI agents."}},"plugin_section":[],"plugin_tags":[17561,267,26736,6696,48586],"plugin_category":[41],"plugin_contributors":[203414],"plugin_business_model":[],"class_list":["post-333941","plugin","type-plugin","status-publish","hentry","plugin_tags-deliverability","plugin_tags-email","plugin_tags-email-log","plugin_tags-smtp","plugin_tags-transactional-email","plugin_category-communication","plugin_contributors-badhonrocks","plugin_committers-badhonrocks"],"banners":{"banner":"https:\/\/ps.w.org\/mailyard\/assets\/banner-772x250.png?rev=3627529","banner_2x":"https:\/\/ps.w.org\/mailyard\/assets\/banner-1544x500.png?rev=3627529","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/mailyard\/assets\/icon.svg?rev=3627449","icon":"https:\/\/ps.w.org\/mailyard\/assets\/icon.svg?rev=3627449","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Mailyard is a WordPress SMTP plugin with a backup plan.<\/strong> Connect Amazon SES, Postmark, Resend, Brevo, or any SMTP server, and every email your site sends \u2014 password resets, WooCommerce receipts, form notifications \u2014 goes through a real email service instead of your host's mail server. And if that service fails, Mailyard switches to your backup <strong>on the same send<\/strong>, so the email still goes out.<\/p>\n\n<p>Out of the box, WordPress hands <code>wp_mail()<\/code> to your web host, and most hosts are bad at email: messages get blocked, land in spam, or vanish without a trace. Mailyard fixes \"WordPress not sending emails\" \u2014 and keeps it fixed when your provider has a bad day.<\/p>\n\n<p>Everything you see is free. No locked buttons, no crippled features, no upgrade nags. Plugin site: <a href=\"https:\/\/plugpress.co\/mailyard\">plugpress.co\/mailyard<\/a>.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li><strong>Automatic email failover<\/strong> \u2014 a backup SMTP provider takes over the moment the first one fails, on the same send, not in a retry queue<\/li>\n<li><strong>Six ways to send<\/strong> \u2014 Amazon SES, Postmark, Resend, Brevo, custom SMTP, or PHP mail<\/li>\n<li><strong>Smart sender routing<\/strong> \u2014 store receipts through Postmark, newsletters through Brevo: the right provider per from address or purpose, automatically<\/li>\n<li><strong>Full email log<\/strong> \u2014 every send and every failure with the exact provider error; logs clean themselves up after 30 days<\/li>\n<li><strong>Deliverability checker<\/strong> \u2014 grades your SPF, DKIM, DMARC &amp; MX records A\u2013F and hands you the exact DNS record to add<\/li>\n<li><strong>Bounce &amp; complaint tracking<\/strong> \u2014 all four provider webhooks normalized into one <code>mailyard_bounce<\/code> hook<\/li>\n<li><strong>AI agent tools (MCP)<\/strong> \u2014 let Claude, Cursor, or Codex diagnose your email problems<\/li>\n<li><strong>60-second setup<\/strong> \u2014 pick a provider, paste a key, send a test; Mailyard warns if another SMTP plugin is fighting you<\/li>\n<\/ul>\n\n<h4>Why failover matters<\/h4>\n\n<p>Most SMTP plugins log the failure and give up. Mailyard retries the same email on your backup provider immediately \u2014 a flaky API key on a Saturday night stops being your problem. SMTP failover is the reason Mailyard exists.<\/p>\n\n<h4>Deliverability, not just delivery<\/h4>\n\n<p>Email that technically sends but lands in spam is still lost. The deliverability checker reads your sending domain's SPF, DKIM, DMARC, and MX records and tells you exactly which DNS record to fix \u2014 usually the difference between the inbox and the spam folder.<\/p>\n\n<h4>AI agents (MCP)<\/h4>\n\n<p>Built on the Abilities API that shipped in WordPress 7.0: any MCP client \u2014 Claude, Codex, Cursor \u2014 can check your provider and fallback chain, score your DNS records, read the failure log, and send a test once it's fixed. Settings \u2192 Connect AI has a master switch and a per-tool permission for each of the five tools; nothing is exposed until you install an MCP bridge (the free WordPress MCP Adapter plugin), and Mailyard never sends your data anywhere on its own.<\/p>\n\n<h4>Providers you can use<\/h4>\n\n<ul>\n<li><strong>Resend<\/strong> \u2014 easiest to start with<\/li>\n<li><strong>Brevo<\/strong> (was Sendinblue) \u2014 all-in-one email platform<\/li>\n<li><strong>Postmark<\/strong> \u2014 best inbox placement, made for stores<\/li>\n<li><strong>Amazon SES<\/strong> \u2014 cheapest at high volume<\/li>\n<li><strong>Custom SMTP<\/strong> \u2014 any SMTP server or relay, Gmail app passwords included<\/li>\n<li><strong>Default PHP mail<\/strong> \u2014 your host's server; no setup, but don't count on it<\/li>\n<\/ul>\n\n<h4>Mailyard Pro \u2014 broadcast email to your customers<\/h4>\n\n<p>Mailyard delivers your site's email. <strong><a href=\"https:\/\/plugpress.co\/mailyard\">Mailyard Pro<\/a><\/strong> builds email marketing on top of it:<\/p>\n\n<ul>\n<li><strong>Broadcast campaigns<\/strong> \u2014 write, schedule, and send email to your customers, rate-limited to match your provider<\/li>\n<li><strong>Notion-style email editor<\/strong> \u2014 slash commands, buttons, images, dividers, desktop &amp; mobile preview, bulletproof email HTML<\/li>\n<li><strong>AI writing assistant<\/strong> \u2014 draft and rewrite emails with Claude, using your own Anthropic API key<\/li>\n<li><strong>Contacts, groups &amp; segments<\/strong> \u2014 one deduped contact list, saved dynamic segments, CSV import &amp; export<\/li>\n<li><strong>Open tracking &amp; campaign analytics<\/strong> \u2014 see how every campaign performed, with tracking you can switch off<\/li>\n<li><strong>Compliance built in<\/strong> \u2014 one-click unsubscribe (RFC 8058), automatic footer with your business address, GDPR export &amp; erase<\/li>\n<\/ul>\n\n<p>Nothing in free Mailyard is held back for Pro, and Mailyard never nags you about it. <a href=\"https:\/\/plugpress.co\/mailyard\">Get Mailyard Pro \u2192<\/a><\/p>\n\n<h4>Who's behind this<\/h4>\n\n<p>One person \u2014 Fahim, in Dhaka, building WordPress plugins since 2011. DiviPeople and DiviTorque come from the same desk and run on 170,000+ sites. When you post in the support forum, the developer answers; there's no tier-1 script to get past.<\/p>\n\n<h4>Source code<\/h4>\n\n<p>The admin screens are React, built with <code>@wordpress\/scripts<\/code>. The unminified source lives at https:\/\/github.com\/plugpressco\/mailyard under <code>src\/<\/code> \u2014 <code>npm install<\/code>, then <code>npm run build<\/code>.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>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 \u2014 turn it off in Settings whenever you want.<\/p>\n\n<h3>External services<\/h3>\n\n<p>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).<\/p>\n\n<p>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 \u2014 a password reset, a WooCommerce order, a contact-form reply, and so on.<\/p>\n\n<p>Resend \u2014 email delivery API, used if you pick Resend. Each email goes to <code>https:\/\/api.resend.com\/emails<\/code>.\nTerms: https:\/\/resend.com\/legal\/terms-of-service \u2014 Privacy: https:\/\/resend.com\/legal\/privacy-policy<\/p>\n\n<p>Brevo (formerly Sendinblue) \u2014 email delivery API, used if you pick Brevo. Each email goes to <code>https:\/\/api.brevo.com\/v3\/smtp\/email<\/code>.\nTerms: https:\/\/www.brevo.com\/legal\/termsofuse\/ \u2014 Privacy: https:\/\/www.brevo.com\/legal\/privacypolicy\/<\/p>\n\n<p>Postmark \u2014 email delivery API, used if you pick Postmark. Each email goes to <code>https:\/\/api.postmarkapp.com\/email<\/code>.\nTerms: https:\/\/postmarkapp.com\/terms-of-service \u2014 Privacy: https:\/\/postmarkapp.com\/privacy-policy<\/p>\n\n<p>Amazon SES (Simple Email Service) \u2014 Amazon's email delivery API, used if you pick Amazon SES. Each email goes to <code>https:\/\/email.{your-region}.amazonaws.com\/v2\/email\/outbound-emails<\/code>. 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 <code>SubscribeURL<\/code> (it checks the host is on <code>amazonaws.com<\/code> first).\nTerms: https:\/\/aws.amazon.com\/service-terms\/ \u2014 Privacy: https:\/\/aws.amazon.com\/privacy\/<\/p>\n\n<p>Custom SMTP \u2014 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.<\/p>\n\n<p>Cloudflare DNS over HTTPS \u2014 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 <code>https:\/\/cloudflare-dns.com\/dns-query<\/code>. No email content is involved.\nTerms: https:\/\/www.cloudflare.com\/website-terms\/ \u2014 Privacy: https:\/\/developers.cloudflare.com\/1.1.1.1\/privacy\/public-dns-resolver\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Search for \"Mailyard\" in Plugins \u2192 Add New (or upload the zip), then activate.<\/li>\n<li>Open the Mailyard menu in your admin sidebar.<\/li>\n<li>Pick a provider, enter your API key, set your sender address.<\/li>\n<li>Hit Send test on the Dashboard to confirm it works.<\/li>\n<\/ol>\n\n<h4>Adding a backup provider<\/h4>\n\n<p>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.<\/p>\n\n<h4>Coming from another SMTP plugin<\/h4>\n\n<p>Deactivate your current mail plugin (WP Mail SMTP, FluentSMTP, Post SMTP, whichever) before activating Mailyard. Two of them running at once causes conflicts \u2014 Mailyard will warn you if it spots one.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20is%20wordpress%20not%20sending%20emails%3F\"><h3>Why is WordPress not sending emails?<\/h3><\/dt>\n<dd><p>By default WordPress hands <code>wp_mail()<\/code> 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 \u2014 which is exactly what Mailyard does.<\/p><\/dd>\n<dt id=\"is%20mailyard%20an%20alternative%20to%20wp%20mail%20smtp%2C%20fluentsmtp%2C%20or%20post%20smtp%3F\"><h3>Is Mailyard an alternative to WP Mail SMTP, FluentSMTP, or Post SMTP?<\/h3><\/dt>\n<dd><p>Yes \u2014 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.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%2C%20contact%20form%207%2C%20gravity%20forms%3F\"><h3>Does it work with WooCommerce, Contact Form 7, Gravity Forms?<\/h3><\/dt>\n<dd><p>Yes. Anything that sends mail the normal WordPress way goes through Mailyard automatically \u2014 no per-plugin setup.<\/p><\/dd>\n<dt id=\"which%20provider%20should%20i%20pick%3F\"><h3>Which provider should I pick?<\/h3><\/dt>\n<dd><p>Just starting out: Resend \u2014 one key and you're sending in five minutes. Running a store: Postmark \u2014 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.<\/p><\/dd>\n<dt id=\"what%20if%20my%20provider%20goes%20down%3F\"><h3>What if my provider goes down?<\/h3><\/dt>\n<dd><p>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 \u2014 so add a backup.<\/p><\/dd>\n<dt id=\"can%20an%20ai%20assistant%20use%20mailyard%3F\"><h3>Can an AI assistant use Mailyard?<\/h3><\/dt>\n<dd><p>Yes \u2014 that's what Settings \u2192 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 \u2014 the in-plugin guide gives you the exact command. Every tool has its own on\/off switch.<\/p><\/dd>\n<dt id=\"where%20are%20my%20api%20keys%20stored%3F\"><h3>Where are my API keys stored?<\/h3><\/dt>\n<dd><p>In your WordPress database, like any SMTP plugin's settings. They're only ever sent to the provider they belong to \u2014 never to us, never anywhere else.<\/p><\/dd>\n<dt id=\"gmail%20or%20microsoft%20365%3F\"><h3>Gmail or Microsoft 365?<\/h3><\/dt>\n<dd><p>Personal Gmail works through Custom SMTP with an app password. Google Workspace and Microsoft 365 have switched off basic SMTP auth, so use Resend or Postmark for those.<\/p><\/dd>\n<dt id=\"how%20long%20do%20you%20keep%20email%20logs%3F\"><h3>How long do you keep email logs?<\/h3><\/dt>\n<dd><p>30 days, then they're deleted automatically. You can also turn logging off entirely in Settings.<\/p><\/dd>\n<dt id=\"does%20uninstalling%20delete%20my%20data%3F\"><h3>Does uninstalling delete my data?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"is%20it%20really%20free%3F\"><h3>Is it really free?<\/h3><\/dt>\n<dd><p>Yes. Every feature you can see is yours \u2014 failover, routing, bounce tracking, the deliverability checker, the email log. Nothing is locked or metered. The only thing we sell is <a href=\"https:\/\/plugpress.co\/mailyard\">Mailyard Pro<\/a>, a separate broadcast-campaigns plugin that builds on top of Mailyard \u2014 this plugin is complete without it.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: Reply-To headers in \"Name \" form are reduced to the bare address before reaching ESP drivers \u2014 replies to form-notification emails no longer bounce.<\/li>\n<li>Fix: emails without an explicit Content-Type header now follow <code>wp_mail_content_type<\/code> (plain text by default), preserving line breaks in plain-text messages.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"WP SMTP plugin with automatic email failover, email log &amp; deliverability fixes. Send via Amazon SES, Postmark, Resend, Brevo or any SMTP.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/333941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=333941"}],"author":[{"embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/badhonrocks"}],"wp:attachment":[{"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=333941"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=333941"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=333941"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=333941"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=333941"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/arq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=333941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}