If your WordPress site isn’t sending emails, you’re not alone. This guide walks you through step-by-step solutions—from checking settings to configuring SMTP—so your contact forms, password resets, and notifications work reliably.
Key Takeaways
- WordPress uses PHP mail by default: This method is unreliable and often blocked by hosting providers or marked as spam.
- SMTP plugins solve most email issues: Services like WP Mail SMTP ensure emails are sent through trusted mail servers.
- Check your hosting provider’s email policies: Some hosts disable PHP mail() for security reasons—contact support if needed.
- Test email functionality regularly: Use built-in WordPress tests or third-party tools to verify delivery.
- Spam folders aren’t always the culprit: Missing SPF/DKIM records or misconfigured plugins can prevent emails from being sent at all.
- Update themes and plugins: Outdated code can interfere with email functions—keep everything current.
- Use descriptive From names and addresses: Generic “WordPress” sender names increase spam likelihood.
Why Is WordPress Not Sending Emails?
WordPress relies on your web server’s built-in PHP mail function to send emails—like password resets, comment notifications, or form submissions. However, this method is notoriously unreliable. Many hosting providers disable or limit PHP mail() due to abuse risks, and even when enabled, emails often land in spam folders or fail to deliver entirely.
Common signs include:
– Contact form submissions that go nowhere
– Users unable to reset passwords
– No notification emails after new comments or registrations
The good news? You can fix this with a few targeted steps. In this guide, we’ll walk you through diagnosing and resolving the most common causes of WordPress email failures—so your site communicates smoothly again.
Step 1: Test If Emails Are Actually Being Sent
Before making changes, confirm whether emails are truly failing.
Use WordPress’s Built-in Email Test
Go to Tools > Site Health > Info > Mail in your WordPress dashboard. Look for the “Test Email” section. Enter your email address and click “Send Test Email.” If it doesn’t arrive within a few minutes, the issue is confirmed.
Try a Plugin Like “Check Email”
Install the free Check Email plugin. It logs every email attempt and shows delivery status. This helps distinguish between “not sent” and “sent but blocked.”
> 💡 Pro Tip: Always check your spam/junk folder—even if the email was technically sent, it might be filtered out.
Step 2: Install an SMTP Plugin (The Best Fix)
The most reliable solution is switching from PHP mail to SMTP (Simple Mail Transfer Protocol). SMTP routes emails through dedicated mail servers (like Gmail, Outlook, or your domain’s email service), improving deliverability and reducing spam flags.
Choose a Trusted SMTP Plugin
We recommend WP Mail SMTP—it’s free, easy to use, and supports major email providers. Install it via Plugins > Add New > Search “WP Mail SMTP” > Install & Activate.
Configure WP Mail SMTP
After activation:
1. Go to WP Mail SMTP > Settings.
2. Choose your mailer (e.g., “Other SMTP” for custom setups, or “Gmail” if using Google Workspace).
3. Enter your SMTP credentials:
– SMTP Host: Usually `smtp.yourdomain.com`, `smtp.gmail.com`, or your host’s SMTP server
– Encryption: TLS (recommended) or SSL
– Port: 587 (TLS) or 465 (SSL)
– Username & Password: Your full email address and app password (not your regular password!)
> 🔐 Important: For Gmail, enable 2-factor authentication and generate an App Password—regular passwords won’t work with SMTP.
Send a Test Email
Use the plugin’s built-in test tool to verify everything works. If successful, your WordPress emails will now route through a trusted server.
Step 3: Check Your Hosting Provider’s Email Limits
Some hosts (especially shared hosting plans) block or throttle outgoing emails to prevent spam.
Review Host Documentation
Check your host’s knowledge base for terms like “outbound email limits” or “PHP mail restrictions.” Popular hosts like Bluehost, SiteGround, and HostGator often require SMTP for reliable email.
Contact Support
If unsure, open a support ticket and ask:
> “Does your server allow PHP mail() for WordPress emails? If not, what SMTP settings should I use?”
Many hosts provide free SMTP details—use them instead of third-party services to avoid extra costs.
Step 4: Verify Your “From” Email Address
WordPress defaults to sending emails from `wordpress@yoursite.com`. This looks suspicious to spam filters.
Set a Valid “From” Address
In WP Mail SMTP > Settings > From Email, use an address that matches your domain (e.g., `noreply@yoursite.com` or `info@yoursite.com`). Ensure this email actually exists on your server.
Use a Realistic “From Name”
Avoid generic names like “Admin” or “WordPress.” Use your brand name (e.g., “Acme Support Team”) to build trust.
> ✅ Bonus: Set up SPF and DKIM records in your DNS to authenticate your domain. Most SMTP plugins guide you through this.
Step 5: Update Themes and Plugins
Outdated code can break email functionality—especially after WordPress core updates.
Run Core Updates
Go to Dashboard > Updates and install any pending WordPress, theme, or plugin updates.
Check for Conflicts
If emails stopped working after a recent update:
1. Deactivate all plugins except your SMTP plugin.
2. Switch to a default theme (like Twenty Twenty-Four).
3. Test email again.
4. Reactivate plugins one by one to find the culprit.
For help managing themes safely, see our guide on how to deactivate a theme in WordPress without losing data.
Troubleshooting Common Issues
Emails Still Not Sending After SMTP Setup?
– Double-check SMTP credentials (typos are common!)
– Ensure your hosting firewall isn’t blocking outbound ports (587/465)
– Try a different SMTP provider (e.g., switch from Gmail to your host’s SMTP)
Only Contact Form 7 Emails Fail?
This is a specific issue—see our detailed fix for Contact Form 7 not sending email.
Emails Go to Spam?
– Authenticate your domain with SPF/DKIM/DMARC
– Avoid spammy subject lines (“FREE!!!”, “URGENT”)
– Use a reputable SMTP service (not free tiers with low reputation)
Conclusion
WordPress email issues are frustrating—but almost always fixable. By replacing the unreliable PHP mail function with SMTP, verifying your sender details, and keeping your site updated, you’ll ensure critical emails reach your users reliably.
Start with an SMTP plugin like WP Mail SMTP, test thoroughly, and don’t skip DNS authentication. With these steps, your WordPress site will stay connected with visitors, customers, and admins alike.
For ongoing site health, also consider choosing a fast, SEO-friendly WordPress theme that plays nicely with modern plugins—including email tools.