How to FIX WordPress NOT Sending Email Issue

Want to know how to fix WordPress not sending Email issue?

If yes then in this tutorial we have shared the step by step solution using which you can do this easily.

This is a common problem faced by many webmasters and due to it you might be facing issues such as

  • Contact form not working
  • Not receiving notifications from your WordPress site
  • Woocommerce order confirmation not working
  • Not receiving Password reset email

And more.

Keeping this in mind, in this tutorial we will discuss how can you easily fix WordPress not sending email problem.

Requirements to FIX WordPress not sending emails

WordPress is the most popular CMS and is known for being beginner friendly. However, there are certain issues users can face that aren’t so easy to figure out.

And one such issue is not receiving emails from your WordPress site.

I remember the time when I was starting out and faced this problem. In the beginning it just left me confused as everything was configured correctly yet nothing was being delivered to my inbox.

Over the years, we have fixed this issue for many of our friends and clients and it can arise due to several reasons such as

  • Email misconfigured in your WordPress installation
  • wp_mail() function not working
  • Emails caught in spam filter
  • You are using Localhost

And more.

To solve the WordPress not able to send emails problem we will be using WP Mail SMTP plugin.

WP Mail SMTP is a popular SMTP plugin using which you can fix your email deliverability issues by reconfiguring WordPress to use a proper SMTP provider when sending emails.

It is a freemium plugin and this means it has both free and premium versions. For this tutorial we will be using the free version.

WP Mail SMTP being popular has over 3 million active installations and 3900+ five star reviews.

WP Mail SMTP active installations
WP Mail SMTP active installations

As far as the SMTP integrations are concerned below we have listed a few

  • White Glove Setup
  • Email Log
  • Email Reports
  • Open & Click Tracking
  • Backup Connections
  • Smart Email Routing
  • Email Failure Alerts
  • Weekly Email Summaries
  • Manage Notifications
  • Integration with popular transaction email services

And more.

For this tutorial we will be using Gmail or Google Workspace. Thus it is required that you have an account on Google.

Steps to fix WordPress not sending email

Now that you know, you need WP Mail SMTP plugin and a Google account to fix the WordPress not sending issue.

The next step is to configure your WordPress to solve this problem. Below are all the steps.

Login to WordPress dashboard

To fix the WordPress not sending emails problem, the first step is to login to your WordPress dashboard.

For this you will have to visit https://your-domain.com/wp-admin and it will take you to the login page.

Please Note– Here you need to replace your-domain.com with your website’s domain name.

Login to WordPress admin
Login to WordPress admin

Here you will have to use your credentials and then click Log In.

Check Administration Email

Once you are in, the first thing that you will have to do is check if you have a valid administration email address configured in your WordPress dashboard.

For this you will have to click General under Settings in your WordPress admin sidebar and below Site Address (URL) field you will see Administration Email Address.

Administration email address in WordPress general settings
Administration email address in WordPress general settings

In case the email address in this field is not valid or misconfigured then you will have to change your WordPress administration email and confirm it.

Install your SMTP Plugin

If your admin email address is correct and WordPress still is not sending emails then the next step is to install the SMTP plugin.

As mentioned above we will be using the free version of WP Mail SMTP and to install, you need to head over to Plugins inside your WordPress dashboard and click Add New Plugin.

Add New Plugin option in WordPress
Add New Plugin option in WordPress

Doing this will take you to the free WordPress plugin repository and here you will have to search for WP Mail SMTP.

Search for WP Mail SMTP plugin
Search for WP Mail SMTP plugin

Once found your need to click Install and then Activate this plugin.

Install and Activate WP Mail SMTP plugin
Install and Activate WP Mail SMTP plugin

Configure From Email and Name

After you are done installing the plugin, the next step is to configure from email and name fields in WP Mail SMTP plugin.

For this you need to click Settings under WP Mail SMTP in the WordPress admin sidebar.

WP Mail SMTP plugin settings
WP Mail SMTP plugin settings

And it will show you all the General Settings.

Here you need to scroll down till you find the Primary Connection settings under which you will find From Email field followed by From Name.

From Email and Name in WP Mail SMTP settings
From Email and Name in WP Mail SMTP settings

As the name suggests, From Email is the address from which the emails are being sent and From Name is the name that will be displayed.

Please Note– By default you will find your administration email and site title in these fields and you can change them if required.┬áThis change will not change your WordPress site’s admin email or title.

Select Mailer

In the next step you need to select the Mailer or email service provider that you want your site to use.

For this you have to scroll down to the Mailer option and select Google / Gmail.

Select Mailer in WP Mail SMTP settings
Select Mailer in WP Mail SMTP settings

On selecting the Google / Gmail, a new set of options will appear where you are required to add Client ID and Secret Key.

Option to add Google Client ID and Secret in WP Mail SMTP plugin
Option to add Google Client ID and Secret in WP Mail SMTP plugin

Create a Project on Google Cloud Platform

Once you are done till here, the next step is to create a Project on Google Cloud Console.

For this you need to visit Google Cloud Console and it will show you a welcome popup with a dropdown to select your Country and an option to agree to TOS.

Select country and agree to terms in Google Cloud Console
Select country and agree to terms in Google Cloud Console

In the next step you need to click Select a Project dropdown on the top left

Select Project dropdown in Google Cloud Console
Select Project dropdown in Google Cloud Console

And a popup will appear where you will have to click New Project.

New Project option in Google Cloud Console
New Project option in Google Cloud Console

On clicking New Project, it will allow you enter Project Name and select Location. In case you do not have folders then you can leave the selection to No Organization and click Create.

Select Project name and location in Google Cloud Console
Select Project name and location in Google Cloud Console

Creating a New Project will take a few seconds and once done, it will show you a success notification.

New Project successfully created in Google Cloud Console
New Project successfully created in Google Cloud Console

Activate Gmail API

After you are done till here, the next step is to enable the Gmail API.

For this you need to first select the Project you have created and then hover your cursor over API and Services in the sidebar and it will show the Library option.

API Library option in Google Cloud Console
API Library option in Google Cloud Console

You need to click Library here and then search for Gmail API. See the below screenshot for reference

Search for Gmail API in Google Cloud Console
Search for Gmail API in Google Cloud Console

Here you are required to select Gmail API and then click Enable

Enable Gmail API in Google Cloud Console
Enable Gmail API in Google Cloud Console

Create Credentials for using Gmail API

Once you are done activating Gmail API, the next step is to create credentials for using it.

For this you need to click Create Credentials button on the right.

Create Credentials button in Google Cloud Console
Create Credentials button in Google Cloud Console

Doing this will take you to the new page where you will notice that the Gmail API is selected by default and in the “What data will you be accessing” option you need to select User Data.

Select Gmail API and user data to create credentials in Google Cloud Console
Select Gmail API and user data to create credentials in Google Cloud Console

Please Note– In case Gmail API is not selected Select an API option then you will have to use the dropdown to select it.

In the next step you need to click Next,

And it will ask you to

  • Select a name for the application
  • Provide a user support email
  • Upload a logo (optional)
  • Add developer contact information
Add application information in Google Cloud Console
Add application information in Google Cloud Console

Once you are done till here, the next step is to click Save and Continue and it will ask you to configure Scopes.

Configure Scopes in Google Cloud Console
Configure Scopes in Google Cloud Console

This is an optional step and you can skip it by clicking Save and Continue.

 Moving on,

It will ask you to select an Application type and here you will have to select Web Application using the dropdown.

Select Application type in Google Cloud Console
Select Application type in Google Cloud Console

On doing so, it will show you an addition step to choose a name of your OAuth 2.0 client.

Select a name for OAuth Client in Google Cloud Console
Select a name for OAuth Client in Google Cloud Console

In the next step you need to skip Authorize JavaScript Origins and click the Add URI button under Authorized redirect URIs.

Configure Authorized Redirect URI in Google Cloud Console
Configure Authorized Redirect URI in Google Cloud Console

Clicking Add URI will show you the space to add the below mentioned URI. See the following screenshot for reference.

https://connect.wpmailsmtp.com/google/
Add Authorized Redirect URI in Google Cloud Console
Add Authorized Redirect URI in Google Cloud Console

Please Note– You will find this URI in WP Mail SMTP settings inside your WordPress admin below Client ID and Client Secret options. The option to copy is right in front of it feel free to use it.

Authorized Redirect URI in WP Mail SMTP settings
Authorized Redirect URI in WP Mail SMTP settings

Once you are done till here, the next step is to click Create and it will show you your Client ID with an option to download.

Option to download credentials and Client ID in Google Cloud Console
Option to download credentials and Client ID in Google Cloud Console

Here you need to click Done and it will take you to the Gmail API dashboard in the Google Cloud Console.

Publish Application

Moving on, the next step in the process is to Publish this application and make it external.

For this you need to click OAuth Consent Screen option in the Google Cloud Console dashboard.

OAuth Consent Screen option in Google Cloud Console
OAuth Consent Screen option in Google Cloud Console

Doing this will show you the Publishing Status and User Type of the application.

Publishing Status and User Type for Application in Google Cloud Console
Publishing Status and User Type for Application in Google Cloud Console

As you can see, Publishing Status of this application is testing and to Publish this application you need to click the Publish App button.

Publish App button in Google Cloud Console
Publish App button in Google Cloud Console

And it will show a prompt letting you know that this application will be available to all users with Google Account and submitting it for verification is not required.

Prompt before publishing application in Google Cloud Console
Prompt before publishing application in Google Cloud Console

Here you need to click Confirm and within a few seconds the Publishing Status will change to In Production.

Publishing Status changed to In Production for application in Google  Cloud Console
Publishing Status changed to In Production for application in Google Cloud Console

Please Note– If you are Google Workspace user then you will see the option to change the user type to External and doing this will update its status to Production.

Find Client ID and Client Secret

After you are done till here, the next step requires you to find and copy Client ID and Client Secret.

For this you need to click Credentials options in the Google Cloud Console sidebar.

Credentials option in Google Cloud Console sidebar
Credentials option in Google Cloud Console sidebar

And doing this will show the application you have created listed under OAuth 2.0 Client IDs

Application listed under OAuth Client ID in Google Cloud Console
Application listed under OAuth Client ID in Google Cloud Console

Here you need to click the Pencil / Edit icon under Actions and it will show you both Client ID and Client Secret

Client ID and Secret in Google Cloud Console
Client ID and Secret in Google Cloud Console

Add Client ID and Client Secret in WP Mail SMTP

In the next step you need to copy the Client ID and Client Secret values and paste them in the corresponding fields in WP Mail SMTP settings.

See the below screenshot for reference

Add Client ID and Client Secret in WP Mail SMTP settings
Add Client ID and Client Secret in WP Mail SMTP settings

Please note– Make sure you do not copy extra spaces / characters as it can lead to errors.

Once done click Save Settings.

Authorization to Send Emails

After you have saved the settings, the next step is to authorize WP Mail SMTP plugin to use the Gmail API to send emails.

For this you need to click Allow Plugin to Send Emails using your Google Account.

Option to Authorize WP Mail SMTP to use Gmail API
Option to Authorize WP Mail SMTP to use Gmail API

And doing this will ask you to choose a Google account.

Here you need to select the account where you have created the application to send your WordPress emails.

Select Google Account to Authorize WP Mail SMTP to use Gmail API
Select Google Account to Authorize WP Mail SMTP to use Gmail API

On selecting, it will show you a prompt letting you know that Google hasn’t verified this application.

You need to click Advanced here and it will show you the option to go to wpmailsmtp.com

Prompt before Authorization for sending WordPress emails
Prompt before Authorization for sending WordPress emails

In the next step you have to click go to wpmailsmtp.com and it will let you know that WP Mail SMTP want to access information from your Google Account.

Here you need to click Continue.

Permit WP Mail SMTP to access Google Account
Permit WP Mail SMTP to access Google Account

On clicking Continue, it will take you back to your WordPress dashboard and will show you a success message stating you have connected your site to Google API project and you can start sending emails through Gmail.

Success Message after connecting WP Mail SMTP plugin with Gmail API
Success Message after connecting WP Mail SMTP plugin with Gmail API

And that’s it you have now connected WP Mail SMTP with Gmail API

Send Test Email

After you done setting up SMTP plugin on your WordPress website, the next step is to check if WordPress can send emails now.

This is done by sending a test email from your WordPress site to your email account.

For this you need to click Tools under WP Mail SMTP in your WordPress dashboard sidebar.

Tools option in WP Mail SMTP settings
Tools option in WP Mail SMTP settings

Doing this will take you to the Test Email tab where you will see a Send To field. 

Here you are required to enter the email address where you want to receive the sent email.

Send test email from your WordPress site
Send test email from your WordPress site

Once done you need to click Send Email and within a few second it will show you a success message  like the screenshot below.

Test mail successfully sent from WordPress
Test mail successfully sent from WordPress

In the next step you need to visit your email and check for yourself if your site is sending emails.

You will receive an email notification similar to the screenshot below

Test email successfully received
Test email successfully received

And that’s it you have successfully fixed the issue of WordPress not sending emails.

Reasons WordPress is not sending emails

In the beginning of this tutorial we have briefly touched on some reasons why WordPress is not sending emails and in this section we will discuss it in a bit more detail.

Misconfigured Email Settings

The first reasons is quite the basic one and that is you are using an incorrect email address. 

This can happen in a few instances such as

  • There is a typing error and you have not received a confirmation email or for that matter any notification from the beginning.
  • You are checking the wrong mailbox for emails from WordPress
  • You are using an outdated email address that you have no longer access to.

And more

The gist of the story is incorrect email addresses or outdated settings within the WordPress dashboard can lead to email delivery failures.

Server Configuration

The next reason that can lead to your WordPress site not sending emails is server related issues.

When starting a WordPress blog or a website, we are looking for a server that is optimized for hosting your site.

The magic phrase is here “optimized for hosting sites and not sending emails”.

In case you are wondering why so many shared, managed and WordPress hosting plans are advertised with the ability to send emails?

The reason is simple and that is most people when starting out are looking for an all-in-one solution where you can get hosting for both WordPress and emails.

And this can be due to lack of knowledge or budget related constraints.

It is important to know that at times you will find servers with restrictive settings, blacklisting, or lack of support for the PHP mail function on the hosting server leading to it hindering WordPress email functionality.

Outdated versions

When it comes to WordPress security and compatibility related issues, it is often recommend that you first check if the core, theme or any of the plugins that you are using needs to be updated.

Just like any software, these components of your site receive an update on a regular basis and in case you are using outdated versions then this can be the reason behind email delivery related issues.

If this is the case then to you need to first update everything and see if it fixes the problem.

Please Note– Before updating WordPress core, theme or plugins, make sure to take a complete backup.

Caught as Spam

Another reason for WordPress emails not reaching your inbox can be it being caught as spam.

As a result of this either you will find it landing in your spam folder or it can be rejected in some cases.

This is a common issue as the emails generated by your server might lacks proper authentication, not adhere to best practices, or being marked as suspicious by email providers.

To fix this problem all your have to do is use a SMTP plugin.

FAQ

What is SMTP?

SMTP is also known as the Simple Mail Transfer Protocol. 

It is a communication protocol that is used to send and receive emails between mail servers and clients over the internet.

Why use an SMTP plugin on a WordPress site?

As mentioned before, web hosting servers at times can lack proper authentication or may have certain restrictions which can lead to your WordPress emails and notifications not reaching your inbox.

To help you with this you need to install and configure an SMTP plugin which will resolve all such issues.

Can plugin conflicts affect WordPress email functionality?

Yes, at times plugin conflicts can lead to WordPress email sending issues.

If this is the case, then you will have to first deactivate all plugins and then reactivate each plugin one at a time.

To send test emails from your WordPress site you can use plugins like WP Mail SMTP, WP Test Email or Check and Log Email

Should I consider using a transactional email service for better WordPress email reliability?

Yes, you must consider using a transactional email service for your WordPress site.

Below we have shared some of the best transactional email services for WordPress

  • Amazon SES
  • MailGun
  • PostMark
  • SendGrid
  • Brevo

And more.

How do I check if my hosting server supports the WordPress mail function in WordPress?

A simple way to check if your host supports wp_mail() function is by contacting them directly.

Other than this you can check by requesting a password reset email from WordPress or using plugins like WP Test Email or Check and Log email to send test emails.

Can outdated WordPress installations or plugins contribute to email delivery issues?

Yes, absolutely outdated versions for WordPress core, theme or plugins you are using can lead to email delivery issues.

It is always recommended that you update components of your website on a regular basis to prevent any security related concerns, compatibility issues or any other problems.

Having said that,

I hope you will find this tutorial helpful and are able to fix WordPress not sending emails problem.

In case you have any queries then feel free to reach out.

To stay up to date with our content we recommend you subscribe to our YouTube channel and email list.

Also, don’t forget to join our Facebook group.

Leave a Reply

Your email address will not be published. Required fields are marked *