Is your WordPress not sending email? It can be a real disaster for any website owner, especially if you’re running a business that uses email marketing campaigns to reach clients. Thankfully, you can easily fix the problem and get your WordPress up and running in no time flat. 😎
In this tutorial, we will go over two of the most common reasons why your WordPress site isn’t sending emails like you want it to. Then we’ll give you a three step solution you can easily implement on your own site to resolve the issue.
Why is my WordPress not sending emails?
There could be several reasons why your WordPress site isn’t sending emails. Let’s take a look at a few of the common issues WordPress users experience when it comes to email deliverability.
When most users discover WordPress not sending emails, it’s because their hosting server isn’t set up correctly. The default setup uses your hosting provider’s server and the wp_mail() function that’s part of WordPress’ core. That function is based on the PHP mail() function.
Unfortunately, most hosting providers’ servers are optimized to host websites, not sending emails, and some of them even disable that function out right. In other cases, even if the function is enabled, and the emails are technically being sent, they can still end up getting flagged as spam in the recipient’s inbox.
If you suspect that this might be the case with your host, contact the customer support and clarify the issue. They will also inform you if enabling the mail() function is possible.
👉 How to solve this issue if it’s caused by incorrect configuration? Keep reading this post – we cover the solution below.
Emails seen as spoofed
If the exact issue you’re facing is that your contact form plugin doesn’t deliver messages to your inbox (a known issue with the Contact Form 7 plugin), then those emails are perhaps being identified as spoofed emails by mail servers.
This often occurs when the plugin sends emails from a different address than the one that’s added to the From: field in the email.
If you’re using Contact Form 7, you can follow this guide to fix your WordPress not sending email issue. If you’re using a different plugin, you can replicate the Contact Form 7 solution as well, since the interfaces of most contact form plugins are similar.
How to fix WordPress not sending emails
The most likely explanation for WordPress not sending email is configuration issues.
The best solution if that’s the case is using an SMTP solution instead of relying on the built-in wp_mail() functionality.
What is SMTP and how it provides the solution to WordPress not sending emails
SMTP (or Simple Mail Transfer Protocol) takes the content of the email that you’re intending to send and passes it through an external sender service instead of using WordPress’s native mail sender.
With that, your web server isn’t actually sending the email, but it’s passing this responsibility onto a third-party email server through the SMTP protocol.
How to set up SMTP on WordPress
You need two elements: an SMTP plugin on your WordPress site, and a subscription to an email sending service. 👇
The plugin part is simple, Post SMTP is a great choice.
1. Install your SMTP plugin
In your admin dashboard, go to Plugins and search for Post SMTP plugin. Click Install Now and Activate. You can read our beginner guide to installing WordPress plugins if you need additional guidance.
The SMTP plugin will alter the built-in wp_mail() approach and use a dedicated sending service instead. It’ll also work with contact forms, event plugins, and WooCommerce – anything that sends emails on your site and fixes a host of issues you might experience.
2. Route your emails
Next, we’re going to route emails through a separate email provider, like Brevo (formerly Sendinblue), Gmail API, or Mailgun. SendGrid is another good option because it has a free plan that works with most WordPress sites.
We’ll use the Setup Wizard to show you around because it’s easier than manually editing the configuration settings.
To start, enter your details and click Next.
On the subsequent screen you’ll see the outgoing mail server host configuration. Click Next.
Choose the email-sending service you want to use to deliver your emails, like the aforementioned Brevo, Gmail API, Mailgun, SendGrid, or others.
To use this solution, you’ll first need to create an account with Brevo.com. Once you have your login, access the drop-down by clicking on your username on the right side and select SMTP & API.
Click on Generate a new API key, then type the name of your API key and then click Generate.
Press copy. Enter this key into the authentication section of the Setup Wizard and click Next.
3. Set up notifications
Next, you can set up notifications to let you know whether emails have been successfully sent.
You can decide to receive notifications via Slack, or your admin email, or a number of other plugins. Simply click on your preferred option. A green tick will appear on the option you’ve selected. Click Next.
And you’re done! Simply click on Finish to save the settings. It’s a good idea to send yourself a test email to make sure everything is working.
WordPress not sending email issues resolved! 🙋
When WordPress isn’t sending emails, it’s easy to get in a panic. Luckily, most common email issues can be resolved by using a simple SMTP plugin that alters the wp_mail() configuration, which creates a workaround and overcomes the issues.
👉 This solution should also resolve common spam and spoofing issues, which is why we recommend trying it out before anything else.
Do you still have questions about WordPress not sending email? Let us know in the comments if the solution here worked for you or if you get stuck. We’ll do our best to help.