On This Page
WordPress emails frequently fail to deliver. Contact form submissions disappear, password reset emails never arrive, and WooCommerce order confirmations land in spam. The root cause is almost always the same: WordPress relies on PHP mail() by default, which most hosting providers either block, throttle, or send through unauthentic servers.
The fix is straightforward, configure WordPress to send through a proper SMTP service. This guide covers everything: why emails fail, how to fix it, which plugins to use, and step-by-step setup.
Why WordPress Emails Fail
The PHP mail() Problem
| Issue | PHP mail() | SMTP Service |
|---|---|---|
| Authentication | None | SPF, DKIM, DMARC |
| IP reputation | Shared hosting IP (often blacklisted) | Dedicated, high-reputation IPs |
| Delivery rate | 50-70% | 95-99% |
| Spam filtering | Frequently caught | Passes spam filters |
| Tracking | None | Opens, clicks, bounces |
| Reliability | Silent failures common | Delivery confirmation |
Common Symptoms
- Contact form submissions never received
- Password reset emails do not arrive
- WooCommerce order confirmations missing
- User registration emails fail
- Comment notification emails in spam
- Plugin notification emails not sending
How to Fix WordPress Email: Step by Step
Step 1: Choose an SMTP Plugin
| Plugin | Active Installs | Free Features | Best For |
|---|---|---|---|
| WP Mail SMTP | 3M+ | All mailers, email log | Most sites |
| Post SMTP | 300K+ | All mailers, logs, alerts | Feature-rich free tier |
| FluentSMTP | 100K+ | Multiple connections, logs | Developer-friendly |
| Brevo Plugin | 100K+ | Direct Brevo integration | Brevo users |
Recommendation: WP Mail SMTP for general use, or the Brevo plugin if you already use Brevo for marketing.
Step 2: Choose an SMTP Service
| Provider | Free Tier | Setup Difficulty | Best For |
|---|---|---|---|
| Brevo | 300/day (9,000/month) | Easy | Most WordPress sites |
| Gmail SMTP | 500/day | Medium | Personal sites |
| SendGrid | 100/day (3,000/month) | Medium | Developer sites |
| Amazon SES | 62,000/month (EC2) | Hard | AWS-hosted sites |
| Mailgun | Trial only | Medium | High-volume sites |
Recommendation: Brevo’s free tier handles most WordPress sites and requires no credit card.
Step 3: Install and Configure
Using WP Mail SMTP + Brevo:
- Install WP Mail SMTP from the WordPress plugin directory
- Go to WP Mail SMTP > Settings
- Set From Email to your domain email (e.g., [email protected])
- Set From Name to your site name
- Choose “Brevo” as the mailer
- Enter your Brevo API key (found in Brevo > Settings > SMTP & API)
- Click Save Settings
- Send a test email to verify
Total setup time: Under 10 minutes.
- WordPressForms, resets, orderswp_mail()
- WP Mail SMTPmailer: BrevoAPI key
- BrevoSMTP serviceOpens, clicks, bouncesSPF, DKIM
- Inbox
Step 4: Configure Email Authentication
For best deliverability, set up these DNS records:
| Record | Purpose | Priority |
|---|---|---|
| SPF | Authorizes Brevo to send for your domain | Required |
| DKIM | Cryptographically signs your emails | Required |
| DMARC | Policy for handling unauthenticated email | Recommended |
Brevo provides the exact DNS records to add. See our SPF DKIM DMARC guide for detailed instructions.
Step 5: Test Thoroughly
After setup, test these WordPress email types:
- Contact form submission
- Password reset email
- New user registration
- Comment notification
- WooCommerce order confirmation (if applicable)
- Plugin notification emails
WordPress Email Plugins Compared
WP Mail SMTP
Pros: Most popular, supports all major SMTP services, email logging, one-click setup wizards. Cons: Some features (detailed logs, alerts) require Pro version. Free features: All mailers, basic logging, test emails.
Post SMTP
Pros: Full-featured free version, failure alerts, email logging, OAuth support. Cons: Slightly more complex interface. Free features: All mailers, detailed logs, failure notifications.
FluentSMTP
Pros: Connect multiple SMTP services simultaneously, detailed logs, lightweight. Cons: Newer, smaller community. Free features: Multi-connection, full logging, all mailers.
Brevo Official Plugin
Pros: Direct Brevo integration, marketing features included, contact sync. Cons: Brevo-specific only. Free features: SMTP sending, contact management, basic marketing.
WordPress Newsletter & Email Marketing
Beyond fixing transactional email, you can use WordPress with Brevo for full email marketing:
Newsletter Plugins
| Plugin | Type | Best For |
|---|---|---|
| Brevo Plugin | Full marketing integration | Complete email marketing |
| Mailchimp for WordPress | Signup forms + Mailchimp | Simple newsletter signups |
| Newsletter Plugin | Self-hosted newsletters | Budget-conscious sites |
| MailPoet | Built-in email builder | WordPress-native email |
Email Subscription Setup
Add email subscription to your WordPress site:
- Install Brevo’s WordPress plugin
- Create a signup form in Brevo
- Add the form to your sidebar, footer, or pop-up
- Subscribers sync automatically with Brevo
- Build welcome series and newsletter campaigns
WordPress Email Marketing Automation
Combine WordPress with Brevo for marketing automation:
| Automation | Trigger | Plugin/Tool |
|---|---|---|
| Welcome series | Form submission | Brevo automation |
| Blog digest | New post published | Brevo RSS campaign |
| Cart recovery | WooCommerce cart | Brevo + WooCommerce plugin |
| Review request | Order delivered | Brevo automation |
| Re-engagement | 90 days inactive | Brevo automation |
For WooCommerce stores, Brevo’s plugin syncs order data to enable automated post-purchase emails and cart recovery.
Troubleshooting Common Issues
Emails Still Going to Spam
- Verify SPF, DKIM, DMARC records are set correctly
- Check if your domain is on any blacklists
- Ensure From Email uses your domain (not gmail.com)
- Run a spam test
- Warm up sending volume gradually
Plugin Conflicts
- Deactivate other email plugins (only one should handle email)
- Check for plugins that override wp_mail()
- Test with a default theme to rule out theme conflicts
WooCommerce Emails Not Sending
- Go to WooCommerce > Settings > Emails
- Verify each email type is enabled
- Check that WP Mail SMTP is configured
- Test by placing a test order
- Check email logs for errors
What is still wrong after setup?
-
Mail goes to spam
Check authentication
SPF, DKIM, DMARC, blacklists, a From address on your domain.
-
Mail fails inconsistently
Remove plugin conflicts
Only one plugin should handle email.
-
WooCommerce mail missing
Check WooCommerce email settings
Each email type enabled, then a test order.
Getting Started
- Install WP Mail SMTP from the WordPress plugin directory
- Create a free Brevo account at brevo.com
- Configure the plugin with your Brevo API key
- Set up DNS authentication (SPF + DKIM)
- Send a test email to confirm delivery
- Test all WordPress email types (forms, registration, WooCommerce)
For complete SMTP configuration details, see our SMTP complete guide. For WordPress email marketing strategies, read our WordPress email marketing guide.
Frequently Asked Questions
Why is WordPress not sending emails?
WordPress uses PHP mail() by default, which most hosting providers block or filter. Emails either never send, land in spam, or get silently dropped. The fix: install an SMTP plugin and use a dedicated email service like Brevo.
What is WP Mail SMTP?
WP Mail SMTP is a WordPress plugin that reconfigures WordPress to send emails through a proper SMTP service instead of PHP mail(). It fixes delivery issues and improves inbox placement by authenticating emails through trusted providers.
What is the best free SMTP plugin for WordPress?
WP Mail SMTP is the most popular with 3M+ installs. Post SMTP and FluentSMTP are good alternatives. All work with Brevo's free SMTP (300 emails/day) for reliable WordPress email delivery.