WordPress uses email notifications for important activities such as password resets, contact form submissions, new user registrations, and WooCommerce orders.
However, sometimes WordPress stops sending emails, even though the website itself works normally.
If your WordPress emails are not sending, the problem is often related to how your hosting server handles outgoing mail.
In this guide, you’ll learn how to identify the problem, configure SMTP, and test whether WordPress can send emails successfully.
Why Is WordPress Not Sending Emails?
By default, WordPress uses the wp_mail() function to send email messages.
This function usually relies on the server’s configured mail transport. On many hosting environments, PHP’s mail() function is used.
Unfortunately, this method can be unreliable for several reasons:
- Your hosting provider restricts outgoing email.
- The server’s mail service is not configured correctly.
- Your domain does not have appropriate SPF or DKIM records.
- Messages are rejected or classified as spam.
- A WordPress plugin causes a mail-related error.
- The recipient’s email provider blocks the message.
Before changing your settings, check your spam folder and confirm that the recipient’s address is correct.
Step 1: Install an SMTP Plugin
One of the easiest ways to improve WordPress email delivery is to configure an authenticated email service.
A popular option is WP Mail SMTP.
To install it:
- Log in to your WordPress dashboard.
- Navigate to Plugins → Add New Plugin.
- Search for WP Mail SMTP.
- Install and activate the plugin.
- Open the plugin’s settings page.
The plugin provides several ways to connect WordPress to an email provider.
Step 2: Choose an Email Provider
You can use a supported email API or an SMTP service.
Common options include:
- Brevo
- SendGrid
- Mailgun
- Amazon SES
- A compatible SMTP mailbox
For a small personal website, an existing email service may be sufficient.
For a production website, a dedicated transactional email provider may offer better delivery monitoring.
Choose a provider that supports your domain and follow its current setup instructions.
Step 3: Configure SMTP Settings
If you choose the Other SMTP option, you will typically need the following information:
| Setting | Example |
|---|---|
| SMTP Host | smtp.example.com |
| Encryption | TLS |
| SMTP Port | 587 |
| Authentication | Enabled |
| SMTP Username | your-email@example.com |
| SMTP Password | Provider-issued credential |
These are example settings only. Use the exact host, port, and authentication method supplied by your email provider.
When supported, OAuth or API-based authentication is preferable to storing a mailbox password.
Do not publish your SMTP credentials in screenshots or tutorials.
Step 4: Configure SPF, DKIM, and DMARC
Email authentication helps receiving servers determine whether messages are authorized to come from your domain.
Three important technologies are:
SPF (Sender Policy Framework)
SPF identifies which servers are authorized to send email for your domain.
DKIM (DomainKeys Identified Mail)
DKIM adds a cryptographic signature that receiving servers can verify.
DMARC (Domain-based Message Authentication, Reporting and Conformance)
DMARC defines how receiving servers should handle messages that fail authentication and provides reporting capabilities.
Your email provider should supply the required DNS records.
Add these records through your domain’s DNS management panel and verify them using the provider’s instructions.
Avoid creating multiple SPF TXT records for the same domain.
Step 5: Send a Test Email
After saving your settings:
- Open WP Mail SMTP.
- Navigate to its email testing feature.
- Enter an email address you control.
- Send a test message.
- Check your inbox and spam folder.
A successful plugin test confirms that WordPress handed the message to the configured mail service. It does not guarantee that every future email will reach the recipient’s inbox.
If the test fails, review the error message.
Step 6: Troubleshoot Common SMTP Errors
SMTP Authentication Failed
This usually indicates incorrect credentials or an authentication method that the provider does not accept.
Check the username, password, and account security settings.
Connection Timed Out
A timeout may indicate that the hosting provider blocks outbound SMTP connections.
Check whether your hosting provider permits traffic on the required port.
Email Sent but Not Received
If the sending service accepts the message but the recipient does not receive it, investigate:
- Spam filtering
- SPF and DKIM authentication
- Domain reputation
- Sender and recipient addresses
- Delivery logs provided by your email service
Frequently Asked Questions
Can WordPress send emails without an SMTP plugin?
Yes. WordPress can send email using its default mail functionality when the server is configured correctly. However, authenticated mail services often provide more predictable delivery and troubleshooting.
Is WP Mail SMTP free?
WP Mail SMTP offers a free version with basic configuration features. Some advanced integrations and functionality require a paid plan.
Why are WordPress password reset emails not arriving?
Possible causes include server mail restrictions, incorrect email configuration, spam filtering, or plugin conflicts. Start by testing the site’s email configuration.
Conclusion
If WordPress emails are not sending, start by confirming whether the problem is with WordPress, the mail server, or the recipient’s email provider.
For many websites, configuring a reliable SMTP or transactional email service is an effective solution.
After setup, test password reset emails and contact form notifications to ensure the features your visitors depend on are working correctly.
Leave a Reply