WordPress Not Sending Emails Issue? Here's the Easy Way to Fix


Published at security by Jacek Piotrowski on 13th Sep 2022

Email communication is critical to any online business. Today, most users expect to receive emails whenever they sign up, buy a product, or perform many other actions on your WordPress website. However, what to do if WordPress is not sending emails?

This article will discuss how to fix the WordPress not sending emails issue. The good news is that it’s a common WordPress issue, so you’re not alone with it. And, as you’re about to find out - it’s not that hard to fix if you know what to do.

But, before we jump to the fix, let’s look at why email sending might fail.

Table of Contents:
1. Why Is WordPress Not Sending Emails?
2. Problem: You Have a WordPress Mailing Plugin Conflict
    Solution: Check (and Remove or Update) Conflicting Plugins
3. Problem: Your PHP mail() Function Is Not Configured Correctly
    Solution: Enable PHP mail() Function
4. Problem: Your Hosting Doesn’t Allow Sending Emails
    Solution: Configure an SMTP Plugin
5. WordPress Emailing Tip: Move to an External SMTP
6. Problem: Your IP is Blacklisted
    Why Does a Domain or IP Get Blacklisted?
    Solution: Whitelisting Your IP or Domain
7. Fix WordPress Not Sending Emails Issue Today

1. Why Is WordPress Not Sending Emails?

There are a couple of reasons why your WordPress website fails to send emails. Usually, it has to do with either website or server configuration. If you pick managed WordPress hosting with cPanel, the server will come pre-configured. 

However, if you deploy the server yourself, then there might be some additional work required. A great example of this is installing WordPress on AWS.

Specific cloud hosting providers block the use of their servers for email. In this case, you might have to purchase an extra service to be able to send branded emails. 

Other reasons include having an incorrectly configured SMTP plugin or conflicting WordPress plugins. Lastly, your server might be working correctly, but the emails don’t get delivered because your IPs are blacklisted. Let’s jump right into each problem and look at the solution. 

2. Problem: You Have a WordPress Mailing Plugin Conflict

Note: this problem does not apply to brand-new websites. But if it's not one, the first thing you should ask yourself is, “when did WordPress stop sending emails?” 

If the issue occurred out of the blue, it might have triggered a new plugin or a recent plugin update.

Solution: Check (and Remove or Update) Conflicting Plugins

In this case, you might want to look into the latest changes on the website. Look especially for all plugins that have anything to do with the email configuration. 

And, if there are no new plugins, you can check whether you or someone on your team changed the settings of the existing ones. 

Of course, it’s hard to do that if your website is managed by multiple team members. In this case, a plugin such as WP Activity Log can help you keep track of the latest changes:

A screenshot of WP Activity Log landing page.

However, if your website is brand new - then the problem lies somewhere else.

3. Problem: Your PHP mail() Function Is Not Configured Correctly

Most WordPress not sending email issues come down to your server configuration. Because WordPress is a PHP application, it uses the PHP ()mail function to send emails. 

Technically, the feature should work out of the box. However, in some cases, hosting providers may restrict PHP use. This is to reduce automated spam, lower resource usage, and prevent their server IPs from being blacklisted.

Solution: Enable PHP mail() Function

In this article, we’ll look at how to enable the PHP mail() function in cPanel. But, before you do that, you can create a simple PHP file to verify if PHP mail() is the problem. To do that, head over to File Manager inside your cPanel dashboard:

A screenshot of cPanel file manager

Then, make sure that you’re in the public_html folder:

A screenshot of public_html folder where you can upload a .php file to test wordpress not sending emails issue

Next, click +File to add a new file:

A screenshot of a new file button inside cPanel

Enter file name - make sure the extension is .php - and hit Create New File:

A screenshot of a new file editor inside cPanel

Once the file is created, edit it and copy the following code inside the file. 

  $dest = "[email protected]"; 

  $fromaddy = "[email protected]"; 

  mail("<$dest>","Test from php mail","Test","From:<$fromaddy>","-f$fromaddy"); 

?> 

Lastly, run the file in a web browser by typing yourdomain.tld/filename.php

If the PHP ()mail function is not running, head to cPanel WHM with your admin credentials. Then, select Server Configuration > Tweak Settings.

A screenshot of server configuration settings inside cPanel

There, select the Mail tab:

A screenshot of Mail settings inside cPanel

Lastly, turn off the Prevent “nobody” from sending mail setting:

A screenshot of PHP settings inside cPanel. Turning this off could fix WordPress not sending emails issue.

Once you turn this option off and save changes, use the file you’ve created in the previous step to test your new setup. Make sure to check the spam folder - mailing using PHP has very poor deliverability. So, even if you set everything up correctly, you can still fail to reach the inbox of any of your audience members. Why?

Using your WordPress website is not a preferred mailing solution. First, you're using an IP that other people often abuse. Moreover, the ()mail function is notorious for being used by all kinds of spammers.

An alternative to PHP mailing is to use an SMTP. An alternative to PHP mailing is to use an SMTP. You’ll see why - and how to use it to fix WordPress not sending emails - later in this article. 

4. Problem: Your Hosting Doesn’t Allow Sending Emails

Some hosting providers deliberately block sending emails. Usually, they do that by blocking one of the SMTP ports, such as port 25 or port 587.  Why?

At the end of the day, maintaining an email infrastructure costs money. Not only that. Allowing emails means having to deal with spammers and enforcing email good practices. 

The good news is, even if they’re blocking emails, that doesn’t mean you can’t do anything about it. 

First, it’s always worth at least reaching out. 

Sometimes, just reaching out to support may give you a green light. Some companies have special guidelines you can follow to get the port unblocked. 

For example, your email campaigns may need to be of a certain standard or your site can’t be in certain niches. Even the products and services that you’re promoting may keep you blocked. 

A common case for this is affiliate marketers. Many hosting providers don't like them, as they're notorious for abusing the system. 

Other times, the requirements may have little to do with your campaigns and marketing. In this case, they're all about configuring your website and SMTP plugin the right way.

However, there's also the last case - what to do if there’s no way to get your server configured to send emails? That's when you’ll have to find an external email provider and configure a WordPress SMTP plugin.

Solution: Configure an SMTP Plugin

First, let’s look at what to do if you have SMTP details and just need to put them inside your WordPress website.

In this case, you should be able to fix the WordPress not sending emails issue with a simple plugin, such as Easy WP SMTP.

A screenshot of Easy WP SMTP - a WordPress plugins used for sending emails.

To solve the WordPress not sending emails issue, you’ll need an email that comes with SMTP settings. If your WordPress hosting doesn’t allow you to create one, you can get one with a service such as Sendgrid:

A screenshot of Sendgrid - an email platform which you can use to overcome the WordPress not sending email problem.

What’s great about it is that if you’re just getting your feet wet in email marketing, you can start sending transactional emails for free. Their free plan allows you to send up to 100 emails per day free of charge:

A screenshot of Sendgrid pricing plans.

Alternatively, you could get started with Google Workspace or Microsoft 365. The only drawback is that they usually have quite low sending limits. As you scale, you have to migrate to a dedicated email sending service anyway.

So, what info do you need to configure the SMTP plugin and fix the WordPress not sending emails issue? First, select a sending email address, as well as a reply-to email address (if they’re different). You also need an SMTP host, port, as well as username, and password. For example, for Microsoft 365, the details look as follows:

  • SMTP Host: smtp.office365.com
  • Type of Encryption: SSL/TLS
  • Port: 587
  • SMTP Authentication: Yes
  • Username: Your Microsoft 365 email
  • Password: Your Microsoft 365 password

Once you have your SMTP details, simply put them inside the plugin.

A screenshot of the Easy SMTP plugin configuration settings.

After that, you can finish configuring the plugin, use the Test Email tab to check if the issue is still there: 

A screenshot of test email inside WordPress easy SMTP plugin

If you get the email, it means you solved the WordPress not sending emails problem. 

5. WordPress Emailing Tip: Move to an External SMTP

Of course, even if your server allows you to send emails, you still might want to rely on an external SMTP. There are a couple reasons for that:

  • First, most hosting providers don’t prioritize having their IPs clean. As a result, they suffer from poor deliverability.
  • Even if the deliverability is OK now, you never know when you’ll get blacklisted. When this happens (and you miss it), you might not even realize your emails stopped sending. When this happens, your entire business suffers.
  • Most email infrastructure providers offer you extra mailing features. These include the ability to validate emails or dedicated IPs, for flawless deliverability. 
  • If you use your hosting, you’ll miss out on all the data and statistics a dedicated email marketing tool can give you. As a result, you won’t be able to optimize your email efforts. That’s especially important if you’re sending sales emails or a newsletter. That’s why it’s best not to use your WordPress email to send a newsletter. 

And, if you would like to take the SMTP plugin route and own several websites - WPBlazer can help you ease the process. Thanks to features such as WordPress Plugin Management, you can add and update plugins on several websites with just a few clicks. 

6. Problem: Your IP is Blacklisted

Sometimes, your server is configured correctly. But, when you’re testing things out, you’re not getting any emails (or your audience is not getting emails). In this case, the issue might be your hosting provider’s IP. 

The good news is that it’s quite easy to check if your domain or IP got blacklisted. To do that, simply visit a website such as mxtoolbox.com:

A screenshot of a blacklisting tool which helps test one of the causes of why WordPress is not sending emails.

Once you hit Blacklist Check, you can see if you got blacklisted by any of the key anti-spam authorities: :

IP Blacklisting test results.

In this case, the IP is not the problem. However, let’s take a quick look at what causes your WordPress website to get blacklisted.

Why Does a Domain or IP Get Blacklisted?

If you’re running a whitehat business, you might be thinking that you can’t be blacklisted. After all, you've never spammed a single person in your entire life! Unfortunately, that’s not always the case. 

The truth is, unless you’re deliberately spamming your audience, it’s unlikely you’re the problem. 

Most of the time, the problem is in the hosting that you’re using. If you’re sharing infrastructure with others, you could be punished for their actions. 

And you don’t even need a spammer to be sharing the server with you. If there are hundreds of people, and each breaks the rules just a little, the IP can still get blacklisted. Sure, it might not get caught by Spamhaus. But it can still be filtered out by big email providers such as Gmail or Outlook. That’s especially true if your hosting provider doesn’t do any IP monitoring. 

Solution: Whitelisting Your IP or Domain

If you see that your domain or IP is blacklisted, there are two things you can do.

First, change the SMTP you’re using to send emails. If it’s just the IP that got blacklisted, you should be good to go. 

If your domain is blacklisted too, you need to go to each of the anti-spam authorities. Then, check if you need to ask them to remove you or you can use a self-removal tool. Naturally, make sure that you’ve updated your IPs first. 

Quick note: When checking if your emails get delivered, send them to a well-known address such as Gmail. That’s because Google has some of the strictest anti-spam settings. It’s also one of the most popular email providers - so, it’s safe to assume a big chunk of your audience has a Gmail address. 

7. Fix WordPress Not Sending Emails Issue Today

Not being able to send emails is a common issue. Unfortunately, it can also be detrimental to your business. Its cost correlates with your site’s popularity, traffic, and the number of people that don’t get an email. 

For a popular website, it can easily go into hundreds or even thousands of dollars every day. Thankfully, because the issue is relatively easy to fix, it’s possible to cut down the losses. And, ideally, to stay safe, it’s best to stop using your WordPress site to send emails. Instead, it’s better to get a dedicated email delivery service, together with an SMTP plugin. And, if you’re managing multiple websites, don’t forget about the WPBlazer plugin management feature. To give it a test ride, sign up for a free 14-day trial and start saving time on manual tasks!