Fixes

WordPress site not sending emails: the real fix (SMTP, not plugins)

By Ali Yasin Jatoi 6 min readUpdated July 10, 2026
Reviewed by Ali Yasin Jatoi, Founder & Lead Engineer· Updated July 10, 2026

Quick answer

WordPress sends email using PHP mail by default, which nearly every modern host either disables or rate limits, and which every major inbox provider treats as spam because it lacks SPF and DKIM. The permanent fix is to route all outbound mail through a transactional SMTP provider like Amazon SES, Postmark, Brevo, or SendGrid using a plugin such as WP Mail SMTP. Add SPF and DKIM records for your domain at the DNS layer and delivery becomes reliable overnight.

Why the default WordPress mail is broken

WordPress calls PHP mail, which asks the web server to hand a message off to a mail daemon. On shared hosts that daemon is often disabled, tightly rate limited, or blacklisted.

Even when it works, the message arrives with no SPF, no DKIM, and a From address that does not match the sending server. Gmail, Outlook, and Apple Mail treat that as spam.

The failure is silent. WordPress marks the send as successful because PHP mail returned true, so nothing logs an error even though nothing was delivered.

The permanent fix in three steps

  • Step 1. Pick a transactional email provider. Amazon SES is the cheapest at real volume. Postmark is the most reliable and simple. Brevo and SendGrid have generous free tiers.
  • Step 2. Install WP Mail SMTP or FluentSMTP and connect it to the provider using an API key, not a username and password. Set the From address to a mailbox on your own domain.
  • Step 3. Add the provider's SPF and DKIM DNS records to your domain. Every provider gives you these on setup. Delivery improves within an hour.

How to prove it is really working

Send a test email from WP Mail SMTP to a Gmail address you control and open the raw source. Look for spf=pass and dkim=pass in the received headers. Both must pass.

Send a second test to check-auth@verifier.port25.com and read the reply. It grades SPF, DKIM, DMARC, and body health on a full report.

Check the provider's dashboard for delivery, bounce, and complaint stats over the first week. If bounce rate is over 2 percent, something in your list is wrong, not the setup.

What not to do

Common questions

Why are my WordPress contact form emails not being delivered?+

Almost always because they are being sent via PHP mail with no SPF or DKIM, and the receiving server is filtering them as spam or rejecting them outright. Route the plugin's mail through an SMTP provider and add the DNS records to fix it.

Is WP Mail SMTP free?+

Yes. The free version supports all major providers including Amazon SES, Brevo, SendGrid, and generic SMTP. The paid version adds logging and a nicer setup wizard but is not required for delivery.

Which SMTP provider should I pick for a small site?+

Postmark for reliability, Brevo for a free tier up to 300 emails a day, or Amazon SES if you already run on AWS and want the lowest cost at scale.

Want this handled for you?

Book a call and we will review your site before recommending anything.

Call Book a call