The WordPress Email Authority
Step-by-step procedures for the WordPress email tasks that recur: setting up SMTP against Google Workspace, Microsoft 365, Amazon SES and Resend; migrating off password auth to OAuth; wiring DNS for SPF, DKIM and DMARC; connecting Contact Form 7 to the right addresses; and diagnosing why the site can’t send. Screenshots, command-line snippets, verification steps. Dated to the tested software versions.
If this is a fresh setup, How to Set Up Email on WordPress is the guide to read first. It walks the full three-part path — external sending service, mailer plugin, DNS records — from an empty site to verified inbox placement. The topic groups below expand each of those parts and cover the tasks that come up after.
Most WordPress sites can’t send email reliably. This guide explains why, then walks through the external service, mailer plugin, and DNS setup that fixes it.
Gmail and Yahoo enforce four sender requirements above 5,000 messages a day. Whether your WordPress site is on the affected path and where each fix lives.
Route WordPress mail through an external SMTP server using wp-config.php constants and a short phpmailer_init snippet, with no mailer plugin required.
SMTP success and DMARC pass don’t guarantee inbox placement. The methodology, the tools (mail-tester, GlockApps, seed lists), and what each one cannot do.
Mailtrap’s capture sandbox catches WordPress’s outbound email without delivering it. What a successful test proves about the sender, and what it doesn’t.
SMTP for WordPress is a choice between three kinds of service – the host MTA, a client mailbox, or a purpose-built sender. The obvious pick is the hardest.
Swaks tests SMTP connectivity, AUTH, and STARTTLS from the WordPress command line and prints the full transaction transcript for mail-server diagnosis.
Order confirmations, cart abandonment, provider integration, common failures. Configure WooCommerce email to fire the right message at the right time.
Methodical test patterns for every WordPress email emission point: WP core, WooCommerce, contact forms, LMS, custom — trigger, wp_mail(), recipient.
Gmail flagged the newsletter for a missing List-Unsubscribe or RFC 8058 one-click header. Which WordPress plugin adds it, and how to verify.
Amazon SES as WordPress SMTP relay: production-access sequencing, Easy DKIM, SMTP-vs-IAM credentials, region choice, and the bounce/complaint loop.
Resend as WordPress SMTP: sign up, pick a region, verify the domain, wire an API key into a mailer plugin, and confirm DKIM alignment. Setup path, in order.
The WordPress SPF, DKIM, and DMARC fix guide, per mailer plugin and per sending provider. Where each record comes from, and where it goes at the registrar.
SPF, DKIM, and DMARC records protect every sender on a WordPress domain. How to build them correctly, avoid the alignment trap, and migrate to p=reject without breaking sending.
FluentSMTP’s M365 password auth breaks December 2026. Two paths out: switch to OAuth via an Entra app registration, or move to a transactional provider.
Gmail and Yahoo enforce four sender requirements above 5,000 messages a day. Whether your WordPress site is on the affected path and where each fix lives.
DMARC rua reports are gzipped XML. Reading one in a browser tells you which servers send mail as your domain, what’s failing authentication, and what to tighten.
Microsoft is disabling SMTP AUTH Basic Authentication in Exchange Online at end of December 2026. Diagnoses your WordPress plugin and auth method; routes to the migration path that fits.
Neither M365 SMTP relay nor Direct Send is affected by the SMTP AUTH retirement. Direct Send has separately been narrowed to internal recipients only.
Post SMTP’s Microsoft 365 connection breaks in December 2026 when SMTP AUTH Basic is disabled. Three paths out, with the cost gap between them named upfront.
wp-config SMTP against Microsoft 365 breaks when SMTP AUTH goes off by default in December 2026. Two paths out: install FluentSMTP for OAuth, or stay plugin-free and swap providers.
WordPress email not arriving? Diagnostic ladder from the fastest check (password reset) through SMTP errors, host limits, and SPF/DKIM/DMARC failures.
Gmail App Passwords silently break every time a password rotates. Four failure modes, four switching criteria, and the four providers worth moving to.
Gmail flagged the newsletter for a missing List-Unsubscribe or RFC 8058 one-click header. Which WordPress plugin adds it, and how to verify.
Use Microsoft 365 as the WordPress SMTP relay. OAuth setup, the SMTP AUTH deprecation timeline (default-off December 2026), and when to migrate off.
The WordPress SPF, DKIM, and DMARC fix guide, per mailer plugin and per sending provider. Where each record comes from, and where it goes at the registrar.
WP Mail SMTP’s password auth for Microsoft 365 breaks end of 2026. Two paths out – switch to WPMS Pro’s OAuth mailer, or move to a transactional provider.
What a WordPress SMTP plugin needs from Google: Client ID, Client Secret, a matching redirect URI, and the rules that survive every Cloud Console redesign.
Gmail App Passwords let WordPress SMTP plugins authenticate without OAuth. Requires 2-Step Verification. Generate a 16-character code in Google Account.
App Passwords are simpler to set up; OAuth is more durable and Google’s preferred path. A technical comparison of both Gmail authentication methods.
Route Contact Form 7 submissions through Gmail or Google Workspace using an SMTP plugin. Covers the App Password setup, daily limits, and when a dedicated transactional service is the better choice.
Gmail SMTP works without OAuth via App Passwords. Setup, ports, daily send limits, and the DMARC trap when WordPress sends from a non-Gmail domain.
Gmail App Passwords silently break every time a password rotates. Four failure modes, four switching criteria, and the four providers worth moving to.
Route WordPress mail through Google Workspace SMTP. The 2,000/day cap, DKIM alignment, App Password vs OAuth, and when to move to a transactional provider.
Point a WordPress contact form at a third-party handler like Formspree or Basin. No form plugin, no SMTP required. Covers spam defence and AJAX submission.
Route Contact Form 7 submissions through Gmail or Google Workspace using an SMTP plugin. Covers the App Password setup, daily limits, and when a dedicated transactional service is the better choice.
WordPress form notifications default to your site’s address. Setting Reply-To routes replies to the submitter without touching From. Steps for CF7, WPForms, and Ninja Forms.
Two methods: cc and bcc headers to send the same message to everyone, or pipe-separated dropdown values to route submissions to different recipients by category.
Take event signups without EventOn or The Events Calendar. Two paths – embed Eventbrite/Lu.ma/Ti.to or an HTML form plus a Stripe Payment Link.
Order confirmations, cart abandonment, provider integration, common failures. Configure WooCommerce email to fire the right message at the right time.
Methodical test patterns for every WordPress email emission point: WP core, WooCommerce, contact forms, LMS, custom — trigger, wp_mail(), recipient.
Take a one-off WordPress payment without WooCommerce. Three paths – a Stripe Payment Link, an embedded button, or a form handler with a Payment Link.
How to confirm a WordPress install can actually send mail, what each test proves at the wp_mail, MTA, and recipient layers, and how to read the three diagnostic states.
Divi’s Contact Form module calls wp_mail() on submission. When mail does not arrive, five categories are at fault. Diagnose each in order, cheapest first.
Mailtrap’s capture sandbox catches WordPress’s outbound email without delivering it. What a successful test proves about the sender, and what it doesn’t.
Swaks tests SMTP connectivity, AUTH, and STARTTLS from the WordPress command line and prints the full transaction transcript for mail-server diagnosis.
What the wp_mail_failed hook actually fires on, the four failure classes it silently swallows, and a minimal WP_Error handler worth pasting into a log.
WordPress email not arriving? Diagnostic ladder from the fastest check (password reset) through SMTP errors, host limits, and SPF/DKIM/DMARC failures.
Order confirmations, cart abandonment, provider integration, common failures. Configure WooCommerce email to fire the right message at the right time.
Methodical test patterns for every WordPress email emission point: WP core, WooCommerce, contact forms, LMS, custom — trigger, wp_mail(), recipient.
SMTP session logs record the conversation between your server and the relay. This guide annotates a real session line by line, covering EHLO through QUIT.
Change the WordPress email sender three ways: the SMTP plugin’s From override, a mu-plugin filter snippet, or a dedicated plugin. Plus the DKIM-alignment trap.
Route WordPress mail through an external SMTP server using wp-config.php constants and a short phpmailer_init snippet, with no mailer plugin required.