WordPress Not Sending Email? Here's How to Fix It Fast
Fix WordPress email delivery problems. Common causes and step-by-step solutions for contact forms, WooCommerce, password resets, and notification emails.
If your WordPress site is not sending emails, you are not alone. This is one of the most common WordPress problems, affecting contact forms, password resets, WooCommerce order confirmations, and plugin notifications.
The good news: it is fixable in about 10 minutes.
Why WordPress Emails Fail
WordPress uses PHP’s built-in mail() function to send emails. This method has fundamental problems:
| Problem | Impact |
|---|---|
| No authentication | Emails flagged as suspicious |
| Shared hosting IP | Often blacklisted by email providers |
| Silent failures | No error messages when emails fail |
| No encryption | Security concerns |
| Rate limiting | Hosting providers throttle sending |
Most hosting providers (GoDaddy, Bluehost, SiteGround, etc.) restrict or disable PHP mail() entirely to prevent spam abuse on their servers.
Common Symptoms
- Contact form submissions never received
- “Check your email” messages but nothing arrives
- WooCommerce order confirmations missing
- Password reset links not delivered
- New user registration emails fail
- Plugin notifications disappear
- Emails arrive but land in spam
The Fix: SMTP Plugin + Email Service
Step 1: Install WP Mail SMTP
- Go to Plugins > Add New in WordPress admin
- Search for “WP Mail SMTP”
- Click Install Now then Activate
Step 2: Create Free Brevo Account
- Sign up at brevo.com (free, no credit card)
- Go to Settings > SMTP & API > API Keys
- Generate and copy your API key
Step 3: Configure the Plugin
- Go to WP Mail SMTP > Settings
- Set From Email to your domain email ([email protected])
- Set From Name to your site name
- Select Brevo as the mailer
- Paste your API key
- Click Save Settings
Step 4: Test
- Go to WP Mail SMTP > Email Test
- Enter your email address
- Click Send Email
- Verify it arrives in your inbox (not spam)
Step 5: Set Up DNS Authentication
Add SPF and DKIM records to your domain’s DNS settings. Brevo provides the exact records. This is critical for avoiding spam folders. See our SPF DKIM DMARC guide.
Troubleshooting Specific Issues
Contact Form Emails Not Sending
- Verify WP Mail SMTP test email works
- Check your contact form plugin settings (Contact Form 7, WPForms, Gravity Forms)
- Ensure the “To” email address is correct in form settings
- Check spam/junk folder
- Verify no email filters are blocking the messages
WooCommerce Emails Missing
- Go to WooCommerce > Settings > Emails
- Verify each email type is enabled
- Check the recipient email address
- Place a test order to verify
- Check WP Mail SMTP email log for errors
Emails Going to Spam
- Set up SPF, DKIM, and DMARC records
- Ensure From Email uses your domain (not @gmail.com)
- Check your domain on email blacklists
- Run an email spam test
- Avoid spam trigger words in email content
Plugin Conflicts
- Deactivate all other email-related plugins (only one should handle email)
- Switch to a default theme temporarily
- Test with WP Mail SMTP only
- Re-activate plugins one by one to find the conflict
Prevention
Once fixed, keep your WordPress emails reliable:
- Monitor delivery — check WP Mail SMTP logs periodically
- Keep plugins updated — outdated plugins can break email
- Test after updates — major WordPress/plugin updates may affect email
- Clean your domain — keep off blacklists
- Use professional email — always send from your domain, not free email addresses
For complete SMTP setup details, see our WordPress SMTP guide and WP Mail SMTP guide.