How To Fix WordPress Not Sending Email

How To Fix WordPress Not Sending Email

Last modified: September 23, 2026

FAQ
Fiverr freelancers

WordPress emails fail silently. When PHP mail is blocked by your hosting server, WordPress generates no error, shows no warning in the dashboard, and gives you no indication that anything went wrong. The notification just disappears. That silence is why this problem often goes unnoticed for weeks on new sites.

The right fix is switching WordPress to SMTP instead of PHP mail. But before you install anything, you need to confirm the problem is actually email delivery, not a configuration issue somewhere else. This guide starts with specific tests to verify the problem and identify where it is breaking, then covers the most reliable free SMTP solutions available as WordPress plugins.

How to Test If WordPress Emails Are Actually Broken

Do not assume the problem is delivery until you have tested it. Work through these checks first:

  • Check spam folders. Go to the receiving inbox and check Spam, Promotions (Gmail), and any filters. Ask a contact to do the same if you are testing a form submission. A large proportion of “WordPress not sending email” reports turn out to be spam folder routing, not a delivery failure.
  • Send a test email from WP Mail SMTP or Post SMTP. Both have a built-in “Send Test Email” tool. Install one, enter your SMTP settings, and send a test to an email address you control. The result will tell you directly whether delivery is succeeding or failing, and often shows the exact error if it fails.
  • Check the WordPress admin email address. Go to Settings > General and confirm the “Administration Email Address” is a real address you have access to. A typo here means WordPress is sending to a nonexistent address.
  • Check your contact form plugin settings. Many contact form plugins (Contact Form 7, WPForms, Gravity Forms) have their own “To” address setting that is separate from the WordPress admin email. Open the form settings and verify the recipient address is correct. Some plugins default to the developer’s email during initial setup.
  • Deactivate recently installed plugins. If email stopped working after a plugin change, a security plugin may be blocking outgoing connections. Deactivate the newest plugin and test again.

WooCommerce Email Problems

WooCommerce sends emails for several different events: new order (to admin), order status changes (to customer), refund confirmations, and shipping notifications. Each has its own template and can be individually enabled or disabled. Before assuming an SMTP problem, check WooCommerce > Settings > Emails to confirm the specific email type is enabled.

If WooCommerce emails are enabled but not arriving, the cause is almost always PHP mail being blocked by your host. Switching to SMTP fixes this entirely. WP Mail SMTP and Post SMTP both integrate with WooCommerce automatically once configured. After setting up SMTP, place a test order and confirm the order confirmation email arrives at the customer address before going live with real orders.

One specific WooCommerce issue: if customers receive some emails but not others, the missing emails may be going to spam because they come from a “[email protected]” sender address that has no SPF or DKIM record authorizing it. Fix this by setting your From Email in your SMTP plugin to a real mailbox address on your domain, and ensure that address has proper SPF and DKIM DNS records configured through your email provider.

Before Installing an SMTP Plugin

If the basic checks above do not identify the cause, an SMTP plugin is the right next step. The five options below are all free and cover every common hosting scenario. Choose based on which email service you want to use as your sender.

Show More

* This button will show the rest of the post and open up an offer from a vendor

What Is The Problem?

The main problem is that WordPress uses PHP’s mail function to send emails, and many hosting servers either block or heavily restrict this function because spammers have historically abused it. When PHP mail is blocked, WordPress sends no error: emails are simply dropped without any notification.

A second issue is sender reputation. Email providers check whether the sending IP address is authorized to send mail for the domain it claims to be. A shared hosting server sending email “from” your domain typically has no SPF or DKIM record authorizing it to do so, which means receiving email servers treat the message as suspicious and either block it or route it to spam.

The solution is to use SMTP (Simple Mail Transfer Protocol), which authenticates your connection properly and routes email through a service that email providers trust.

Before you install an SMTP plugin, check these common causes first:

Wrong delivery email in your contact form. Many contact form plugins default to sending to the developer’s email address during setup. Open your form plugin’s settings and confirm the “To” address is actually yours.

Emails are going to spam. Check your spam folder and any email filters before assuming delivery is failing. Ask a test contact to check their spam folder too.

The correct email address isn’t set in WordPress general settings. Go to Settings > General and verify the “Administration Email Address” is a valid address you control.

A recent plugin change broke email. If email stopped working after you installed or updated a plugin, deactivate the new plugin and test again. Some security plugins block outgoing connections.

If none of these explain the problem, proceed with an SMTP plugin.

Post SMTP

Post SMTP is a powerful WordPress plugin designed to solve email delivery issues by using modern, secure email protocols. Here are the key highlights:

  1. Advanced Email Logging – Post SMTP keeps detailed logs of every email your site attempts to send, including timestamps, recipient addresses, and delivery status. When something breaks, you can see exactly which emails failed and when, rather than guessing.
  2. Supports Modern Protocols – Unlike basic SMTP plugins, Post SMTP supports OAuth 2.0 authentication alongside standard SMTP. This means you can connect to Gmail or Microsoft 365 without storing a password in WordPress – you authorize the connection through your Google or Microsoft account directly.
  3. Easy Setup Wizard – After installing the plugin, a step-by-step configuration wizard asks which email service you want to use and walks through the connection. For Gmail, it generates the OAuth credentials; for other providers, it prompts for SMTP host, port, and credentials.
  4. Test Email Tool – Once configured, send a test email from inside the plugin to confirm delivery is working before relying on it for real notifications.

Post SMTP works well for sites that need Gmail or Microsoft 365 integration without handling OAuth setup manually. For simpler hosting-based SMTP, any of the other options below are faster to configure.

Easy To Configure SMTP Plugin

Easy WP SMTP is a lightweight option for routing WordPress emails through a standard SMTP server. Setup takes about five minutes:

  1. Install and activate the plugin from the WordPress plugin directory.
  2. Go to Easy WP SMTP > Settings in your WordPress admin.
  3. Enter your SMTP host, port, and authentication type. For most shared hosting accounts, your SMTP host is something like mail.yourdomain.com or smtp.yourmailprovider.com.
  4. Enter the SMTP username (usually your full email address) and password.
  5. Save, then use the “Send Test Email” option to confirm it works.

The main limitation: your SMTP credentials are stored in the WordPress database in plain text. Any administrator-level user on your site can see them. For low-traffic personal sites where you control who has admin access, this is a minor concern. For sites with multiple admins or client access, use Post SMTP with OAuth instead – it never stores a password.

Easy WP SMTP is best suited for sites connecting to a hosting provider’s own SMTP server, where you’re using the same credentials as your email account on that host.

WP Mail SMTP

WP Mail SMTP is the most widely installed WordPress SMTP plugin, with over 4 million active installations. It works by replacing WordPress’s default PHP mail function with a proper SMTP or API connection to a mail service of your choice.

Why it’s popular: WP Mail SMTP works with virtually every major email service – Gmail, Outlook, SendGrid, Mailgun, Amazon SES, Brevo, and SMTP.com, among others. The free version supports all of these. There is a Pro version with additional features (priority support, email logs with open tracking, conditional logic for routing), but the free version handles email delivery reliably for most sites.

How to set it up:

  1. Install WP Mail SMTP from the WordPress plugin directory and activate it.
  2. Go to WP Mail SMTP > Settings.
  3. Under “Mailer,” choose the email service you want to use. If you have a Gmail account and want to use it, select “Gmail” and follow the OAuth authorization flow – this avoids storing your Google password in WordPress.
  4. For a standard SMTP connection (hosting provider, Zoho, etc.), select “Other SMTP” and fill in your host, port, encryption type (TLS/SSL), and credentials.
  5. Scroll down and use the “Email Test” tab to send a test email once settings are saved.

Common gotcha: if you’re connecting to Gmail with standard SMTP (not OAuth), Google blocks “less secure app” access by default. Use the OAuth/Gmail integration option instead, which doesn’t require a password at all.

SendGrid

SendGrid is a dedicated email delivery service with a free plan that allows up to 100 emails per day indefinitely after a 30-day trial.

To use SendGrid with WordPress, install WP Mail SMTP or Post SMTP and choose SendGrid as your mailer. You will need a SendGrid account and an API key, which you can generate from the SendGrid dashboard under Settings > API Keys.

Setting up domain authentication (required for good deliverability):

  1. In your SendGrid account, go to Settings > Sender Authentication > Domain Authentication
  2. Follow the prompts to add your domain
  3. SendGrid will give you three CNAME records to add to your domain’s DNS (takes 5-10 minutes in most registrars)
  4. Once verified, email you send through SendGrid will pass DKIM and SPF checks automatically

Domain authentication is optional for testing but required for real-world deliverability. Without it, your emails are more likely to land in spam. The process takes about 15 minutes and the records propagate within a few hours for most DNS providers.

SendGrid is a good choice for sites that need delivery analytics or expect to grow past 100 emails per day, since paid plans scale at reasonable rates compared to per-month subscription alternatives.

Mailgun

Mailgun is a developer-oriented email API service with a 3-month trial that includes 1,000 free emails per month. After the trial, pricing is volume-based.

To use Mailgun with WordPress, install WP Mail SMTP or a generic SMTP plugin and choose Mailgun as your mailer. You will need to add your domain to your Mailgun account and verify it using DNS records. Mailgun provides the exact records to add: two TXT records for SPF and DKIM, plus a tracking CNAME if you want open tracking.

Why Mailgun works well for WooCommerce stores: order confirmations, shipping notifications, and refund emails can add up to several hundred sends per month on an active store. Mailgun’s infrastructure handles high-volume transactional email reliably, and the deliverability is consistently higher than shared hosting PHP mail.

Setup summary:

  1. Create a Mailgun account and add your sending domain
  2. Add the DNS records Mailgun provides to your domain registrar
  3. Copy your Mailgun API key or SMTP credentials
  4. Enter them in WP Mail SMTP under Settings > Email
  5. Send a test email to verify

Fixing WordPress Email: What to Do First

Check spam folders and verify your form plugin’s “To” address before installing anything. A significant number of WordPress email complaints turn out to be spam routing or a wrong recipient address, not a delivery problem. If those checks come back clean, an SMTP plugin is the right fix.

WP Mail SMTP is the most straightforward option for most sites. Post SMTP is the better choice if you want OAuth-based Gmail or Microsoft 365 integration. SendGrid and Mailgun both give you better deliverability analytics and scale easily if your email volume grows.

If contact form submissions are your main concern and email problems keep recurring, switching form plugins may solve it permanently. Our Contact Form 7 alternatives covers options with more reliable built-in email delivery.

Recap:
Save 4 Later
Email liked links to yourself

    Stay Updated with WordPress Insights

    Get the latest WordPress tips, theme reviews, and industry deals delivered to your inbox.