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.
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.
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.
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.
Doing this will take you to the free WordPress plugin repository and here you will have to search for WP Mail SMTP.
Once found your need to click Install and then Activate this 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.
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.
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.
On selecting the Google / Gmail, a new set of options will appear where you are required to add Client ID and Secret Key.
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.
In the next step you need to click Select a Project dropdown on the top left
And a popup will appear where you will have to click New Project.
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.
Creating a New Project will take a few seconds and once done, it will show you a success notification.
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.
You need to click Library here and then search for Gmail API. See the below screenshot for reference
Here you are required to select Gmail API and then click Enable
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.
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.
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
Once you are done till here, the next step is to click Save and Continue and it will ask you to configure Scopes.
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.
On doing so, it will show you an addition step to choose a name of your OAuth 2.0 client.
In the next step you need to skip Authorize JavaScript Origins and click the Add URI button under Authorized redirect URIs.
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/
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.
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.
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.
Doing this will show you the Publishing Status and User Type of the application.
As you can see, Publishing Status of this application is testing and to Publish this application you need to click the Publish App button.
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.
Here you need to click Confirm and within a few seconds the Publishing Status will change to In Production.
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.
And doing this will show the application you have created listed under OAuth 2.0 Client IDs
Here you need to click the Pencil / Edit icon under Actions and it will show you both Client ID and Client Secret
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
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.
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.
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
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.
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.
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.
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.
Once done you need to click Send Email and within a few second it will show you a success message like the screenshot below.
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
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.