How to Fix The WordPress Not Sending Email Issue

We all know how to send an email, but what can we do if sending mail does not go as smoothly as expected?

One of the common issues beginner developers have to deal with is WordPress not sending email correctly. And while this can be solved quite easily, if you have never dealt with an issue of this sort, you probably don’t know all the simple fixes that will work here.

So without further ado, let’s talk some more about WordPress email plugin, the send mail error, why it occurs, and how to fix it.

WordPress Email Fail: The Most Common Situations

Using WordPress comes with many perks, but there are also some situations and issues that you need to know how to deal with. Here are some of the most common situations connected to the site mail issues:

  • Using Contact Forms: It has been noticed that in some cases when a visitor submits a contact form using a default form or a 3rd party contact form (e.g., Contact Form 7), there is a chance you will not receive an email notification that they submitted the form.
  • When WordPress Sends Your Notifications: In WordPress email settings, you can choose to have your notifications sent automatically. This includes emails notifying you of new user registrations, password resets, blog post comments, automatic updates, and more. However, sometimes, it will not work properly.
  • Using 3rd Party Plugins: Notifications from popular plugins like WooCommerce and WPForms are often missed as a result of WordPress not sending email. The messages either never get to your inbox or they get marked as spam.

But why do the problems in these situations occur? Find out more about that below.

Why You Are Not Getting Emails from Your WordPress Site

There is a number of reasons why the WordPress send email error occurs, but the most common one is that your hosting server is not configured to use PHP mail() function.

Even if you would be able to send emails without the send email PHP function, there is a number of tools meant to detect if an email is coming from the location it is supposed to. Emails sent by WordPress sites occasionally fail this test. 

Additionally, implementing a strict DMARC policy can help improve email authentication and prevent unauthorized use of your domain for sending emails.

This is why we are not fans of WordPress sending emails, and we recommend using SMTP for registration emails, newsletters, and similar.

SMTP aka Simple Mail Transfer Protocol is the safest and best way to fix the can’t send email issue. Unlike PHP mail function, SMTP uses proper authentication which increases email deliverability.

You can choose from a sea of SMTP services available, but today, we are going to focus on the two services of our choice: MailGun and Gmail.

Fix WordPress Not Sending Emails

Everyday situations of WordPress not sending email might include submission to a contact form that you never receive, or a third-party plugin notification. This could also apply to WooCommerce not sending emails from recent sales or customer inquiries.

The cause of these issues is usually hidden in the incorrect settings in the plugin, or in the incompatibility with PHP7, HHVM, and similar. Let’s take a look at some quick solutions now.

Test Email on Your Server

A free tool such as the Check Email plugin can be handy to test WordPress sending email. Use it to test WordPress emails and ensure that there isn’t any email issue.

The tool itself is super easy to use; just install it and send a test email to see if everything is working correctly. An issue such as emails not sending should be detected instantly.

Check your email client to see if you received the test email. The subject line will appear as “Test email from https://yourdomain.com.” Also, make sure to check your spam or junk mail folder.

If you find the sent email, it means that the emails not sent in the past were probably a result of a misconfiguration with your contact form plugin or an incompatibility. You can always play around with the WordPress mail settings to try and fix that or contact the plugin developer for help.

Configure Gmail SMTP in WordPress

Out of all email options, using a good WP mail SMTP is probably the best way to avoid the email not sending issue.

We would recommend you to enable SMTP Gmail as your default WordPress SMTP. Not only will your WordPress mail be sent but the deliverability will also be increased by preventing the mail from ending up in the junk or spam folders.

Keep in mind though that the free version, your WordPress send emails option is limited to the maximum of 100 emails per day (3,000 free emails per month). If you need to send out more emails, you can increase these limits by paying for G Suite.

Another option is to choose another SMTP WordPress such as Mailgun. This will provide you with more free emails every month, but you will not get all of Gmail’s features, on the other hand.

So let’s go through the steps of configuring your Gmail SMTP WordPress.

Step 1

The first steps are to download and install the free plugin called Post SMTP (previously Postman SMTP). This plugin has 5 out of 5-star rating and is known to work beautifully with WooCommerce and Digital Downloads.

In this example below, Gmail is being used as an SMTP server to send emails for the WordPress installation. We will be using the OAuth 2.0 protocol to authorize access to the Gmail API – which means a more secure login system and users will not have to enter any username or password.

However, if you are not a Gmail user, this plugin can still be helpful to you since it supports a wide variety of setups and providers including Mandrill, SendGrid, and even MailGun.

Step 2

Once you have installed this WordPress SMTP plugin, in the Post SMTP setup click on “Start the Wizard.”

Step 3

Input your name and the email address you want to use to send emails and click “Next.”

Step 4

Now you have to enter the outgoing mail server hostname. In this example, we are using smtp.gmail.com. Then click “Next.”

Step 5

Now it is the time to configure the connection. We will be using the “Gmail API” in this example because some hosts might be blocking the default ports as we mentioned earlier in this article.

Step 6

You will then need to open up a new tab and create a new project with Google. Go to console.developers.google.com and log in with the Gmail you will be using to send emails. You will then need to create a new project.

Step 7

Choose a name for your project and click on “Create.”

Step 8

In the dashboard of the new project click on “Enable APIS and Services.”

Step 9

Then click on “Gmail API” under G Suite APIs.

Step 10

Then click on “Enable.”

Step 11

Then click on “Credentials” on the left-hand side. And then under Create credentials choose “OAuth client ID.”

Step 12

On the next screen, you will need to click on “Configure consent screen.”

Step 13

Write down your email address, a product name, and a privacy policy URL. This is what you are required to fill in but we strongly recommend fulling out everything.  

Step 14

On the next screen, choose web application when asked about the app type. Enter a name, paste the “Authorized JavaScript origins” URL and the “Authorized redirect URIs” from the Postman wizard screen. Then click “Save.”

Step 15

At this point, you will get your client ID and client secret.

Step 16

Copy and paste these into the Client ID and Client Secret fields in the Post SMTP wizard. Then click “Next” and then “Finish.”

Step 17

To ensure that your domain is verified, add it to the Google Developer Console.

Step 18

You will then need to “Grant permission with Google” and click to allow your Gmail account access.

FAQs about WordPress not sending email

1. Why is WordPress not sending any emails?

WordPress may not be sending emails for a number of different reasons. They include misconfigured email settings, troubles with other plugins, host-related problems, or failed email address verification. Checking your email settings, validating your SMTP setup, and looking through any error logs are possible steps in troubleshooting the problem.

2. How can I check if WordPress is sending emails?

If you want to see if WordPress is sending emails, you can use a plugin like WP Mail Logger. This plugin keeps track of all emails sent from your site and logs them all for you. To verify that your email settings are functioning properly, you can also utilize an SMTP testing tool.

3. What can cause WordPress emails to not be delivered?

A number of factors, including email server configuration issues, email spam filters that are preventing outgoing emails, and issues with email verification, may prevent WordPress emails from being delivered. Incoming emails from WordPress websites may also be blocked by some email service providers. The problem may be resolved by checking your email settings and validating your email address.

4. Why are my WordPress emails going to spam?

WordPress emails may get up in spam for a variety of reasons, including utilizing trigger words or phrases, sending emails to a huge number of recipients, using excessive amounts of graphics or links, and having badly written content. By using dependable email services, validating your email address list, and optimizing your email content, you can increase email deliverability.

5. How can I troubleshoot WordPress email issues?

Checking your email settings, testing your SMTP configuration, confirming your email address, looking for plugin conflicts, and looking at error logs are all steps in the troubleshooting process for WordPress email problems. In order to set up your email settings and test email operation, you may also use plugins like WP Mail SMTP and Simple WP SMTP.

6. What are the best plugins for fixing WordPress email problems?

WordPress email issues can be fixed with a number of plugins. WP Mail SMTP, Simple WP SMTP, Postman SMTP Mailer, and Mailgun are some of the top plugins. These plugins can be used to test email operation, set up email settings, and increase email deliverability.

7. How can I configure SMTP settings in WordPress?

You can use plugins like WP Mail SMTP or Simple WP SMTP to set up SMTP settings in WordPress. You can enter your SMTP server information, port number, authentication settings, and encryption settings using these plugins. A different option is to add the necessary PHP code to your wp-config.php file and configure SMTP settings there.

8. How can I test email functionality on my WordPress site?

Use an SMTP testing tool or install a plugin like WP Mail Logger to test the email functionality on your WordPress website. You can use these tools to send test emails and inspect email logs to make sure your email settings are functioning properly.

9. Why are WordPress password reset emails not being sent?

Due to email settings difficulties, spam filters that prevent outgoing emails, and plugin incompatibilities, WordPress password reset emails may not be sent. You can check your email settings, confirm your email address, and disable any incompatible plugins that might be preventing emails from being delivered in order to fix the problem.

10. How can I prevent WordPress email from being marked as spam?

By eliminating trigger words or phrases, minimizing the use of links or graphics, and personalizing your email messages, you may make your WordPress email less likely to be flagged as spam. To increase email deliverability, you can also employ reputable email services, validate your email address, utilize email deliverability tools, and add SPF and DKIM records to your domain.

Ending thoughts on how to solve the issue of WordPress not sending email

For several reasons, you will have trouble with the WordPress not sending email. However, with the right WordPress email setup, this can easily be avoided.

Consider using SMTP for sending the mail, and you should have significantly fewer cases of WordPress not sending emails. In this article, you will find a handy guide with all the steps necessary to set up an SMTP for sending out mail.

If you enjoyed reading this article on how to fix WordPress not sending email, you should check out this one about how to fix WordPress white screen of death.

We also wrote about a few related subjects like how to fix err_ssl_version_or_cipher_mismatch, fixing the 502 bad gateway error, how to fix too many redirects, fixing WordPress http error when uploading image and how to fix 504 error.


Sanja Pajic
Sanja Pajic

Full Stack Web Developer

Articles: 40