TL;DR: WordPress not sending email is typically due to your host blocking PHP’s mail() function, not a WordPress bug. The best solution is to install WP Mail SMTP and route all email through a dedicated provider like Gmail (via Google Workspace), SendGrid, or Mailgun. Most sites can be fixed in under 15 minutes.
Last Updated: April 2026. Tested with WordPress 6.7 and PHP 8.3.
If your WordPress site is not sending email, whether it’s a contact form notification, a WooCommerce order confirmation, or a password reset link, you’re not alone. This is a common WordPress issue that is entirely fixable. This guide covers every cause and solution, from a quick plugin install to proper DNS authentication records.
Why WordPress Not Sending Email Happens
Contents
WordPress sends email using PHP’s built-in wp_mail() function, which relies on the server’s mail() function. Many shared hosting providers and managed WordPress hosts block or restrict this function to prevent spam. Even when not blocked, email sent this way lacks authentication, so receiving mail servers may drop it or route it to spam.
There are three root causes for WordPress not sending email in 2026:
- Server-level blocking: Your host disables PHP’s
mail()function entirely. - Spam filtering: Email is sent but rejected or discarded by the recipient’s mail server due to missing SPF, DKIM, or DMARC records.
- Plugin or theme conflict: A plugin is overriding
wp_mail()or an SMTP plugin is misconfigured.
Step 1: Confirm the Problem with a Test Email
Before fixing, confirm that WordPress is not sending email rather than a specific plugin failing. Install the free Check & Log Email plugin, go to Tools, and send a test message to an address you control. Check both your inbox and spam folder. If the test email arrives in spam, your DNS authentication is the issue. If it never arrives, your server is blocking outbound mail entirely.
Step 2: Fix WordPress Email with WP Mail SMTP (Recommended)
The permanent solution is to replace the default PHP mail handler with a dedicated SMTP connection. WP Mail SMTP is the most widely used plugin for this, with over 4 million active installations. The free version supports Gmail, Outlook, Brevo (Sendinblue), and others. The Pro version adds Amazon SES, Mailgun, and SendGrid integrations with better logging.
To set it up:
- Go to Plugins, Add New, search for “WP Mail SMTP” and install it.
- Run the Setup Wizard from WP Mail SMTP in your dashboard menu.
- Select your email provider.
- Enter the credentials provided by your email provider.
- Use the built-in Email Test tab to verify everything is working.
Step 3: Choose the Right Email Provider in 2026
Choosing the right sending service depends on your email volume and technical comfort. Here is a comparison of the three most popular options:
| Provider | Free Tier | Paid Pricing | Best For | SMTP or API |
|---|---|---|---|---|
| Gmail (Google Workspace) | Free with personal Gmail (500/day limit) | $6/user/month (Google Workspace) | Small sites, personal projects | SMTP via OAuth |
| SendGrid | 100 emails/day forever | From $19.95/month (50,000 emails) | Growing stores, high volume | SMTP or API |
| Mailgun | Trial (100/day for 3 months) | From $15/month (10,000 emails) | Developers, transactional email | SMTP or API |
Setting Up Gmail SMTP
Using a personal Gmail account through WP Mail SMTP is the