Why WordPress Is Not Sending Emails (and How to Fix It)

← Back to all WordPress fixes

Introduction

Contact form submissions never arrive. Password reset emails don’t show up. WooCommerce order confirmations go missing. If WordPress is not sending emails, it’s one of those problems that quietly costs you leads and sales before you even notice. The cause is almost always the same — and so is the fix.

Why WordPress Fails to Send Emails

By default, WordPress sends mail using PHP’s built-in mail() function. The trouble is that this method is unreliable for real-world email:

  • Many hosts disable or restrict mail() to prevent spam, so messages never leave the server.
  • Emails that do send often get marked as spam, because PHP mail lacks proper authentication (SPF, DKIM) that mail providers now require.
  • The “from” address frequently doesn’t match your domain, which providers treat as a red flag.

In other words, the default method was never built for dependable delivery. The fix is to stop using it.

The Real Fix: Send Email Through SMTP

The reliable solution is to send WordPress email through SMTP (the standard, authenticated way email is actually delivered) instead of PHP mail(). You do this with an SMTP plugin connected to a proper mail service. Here’s the approach:

  1. Install an SMTP plugin. Popular, well-maintained options include WP Mail SMTP, FluentSMTP, or Post SMTP. They reroute all WordPress email through authenticated SMTP.
  2. Choose a mail service. You can use your host’s SMTP server, your email provider (such as Google Workspace), or a dedicated transactional email service like Brevo, SendGrid, Mailgun, or Amazon SES for high-volume reliability.
  3. Enter the SMTP details the service gives you — host, port, username, and password (or API key) — into the plugin.
  4. Set a “from” address on your own domain, for example noreply@yourdomain.com, so messages aren’t flagged for a domain mismatch.
  5. Send a test email from the plugin to confirm delivery before relying on it.

Improve Deliverability With SPF and DKIM

Even with SMTP, mailbox providers want proof your emails are legitimate. Adding two DNS records to your domain dramatically improves whether your email reaches the inbox instead of the spam folder:

  • SPF — lists which servers are allowed to send email for your domain.
  • DKIM — cryptographically signs your emails so providers can verify they’re genuine.

Your mail service provides the exact records to add; most have a step-by-step guide for popular DNS hosts.

Still Not Working? Quick Checks

  • Check the spam folder — the email may be sending but landing there (a deliverability issue, not a sending one).
  • Look at your SMTP plugin’s email log if it has one; it shows whether each message was accepted by the mail server.
  • Confirm the contact form plugin’s settings — the recipient address may simply be wrong or mistyped.
  • Test on staging first if you’re changing email configuration on a busy site, so you don’t disrupt live notifications while testing.

Frequently Asked Questions

Do I need a paid email service?
Not necessarily. Many free options work for low volume — your host’s SMTP, a free Brevo tier, or Gmail/Google Workspace. Dedicated transactional services become worthwhile as your email volume grows.

Why do my emails send but land in spam?
That’s a deliverability problem, not a sending one. Set up SPF and DKIM records and use a “from” address on your own domain — that’s usually what moves email from spam to inbox.

Will an SMTP plugin slow down my site?
No — it only changes how email is sent in the background. It has no effect on page load speed.

I changed settings and now nothing sends — can I undo it?
Yes. SMTP plugins store their settings independently, so you can adjust or disable them. As always, having a recent backup means you can revert any site change with confidence.

Conclusion

When WordPress isn’t sending emails, the culprit is almost always the unreliable default PHP mail() method — and the cure is to switch to authenticated SMTP through a proper mail service. Add SPF and DKIM for deliverability, send a test, and your contact forms, password resets, and order notifications will start arriving reliably again.

Change settings with a safety net

Before reconfiguring email or installing new plugins, take a quick backup with Nota Backup & Restore — so any change is a one-click undo. Start your 14-day free trial — no credit card required.