How to Fix WordPress Not Sending Emails

A common pain point with many WordPress sites is WordPress not sending emails. Although, in most cases, the issue isn’t that WordPress isn’t sending the emails but that they’re not being delivered. This can happen for a number of reasons which we’ll discuss in this article. Then, we’ll look at ways you can get your WordPress emails working so they make it to the inbox.

How Email Works in WordPress

Before we look at common reasons why WordPress may not be sending emails, it helps to understand how email works in WordPress.

By default WordPress uses the web server that your site resides on to send emails. Once the email is sent by the web server, it is routed to the server that is responsible for handling the recipient’s email account. At this point, the email server will perform various checks to determine if the server that sent the email is authorized to do so and then decides what to do with the email. It might decide to deliver the message to the recipient’s inbox, put the message in a spam folder, quarantine the message, or reject/bounce the message.

Email servers use Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM) to determine if a server is authorized to send email for a given domain.

Reasons Why WordPress Is Not Sending Emails

Your emails appear to be spoofed

Remember how we said that WordPress sends emails from your web server? Well, in most cases, this server is not the same one that handles the email for your domain.

For example, if Jane’s website sends an email from [email protected] but Jane’s email is hosted by a different server (e.g. Microsoft Office 365, Google, etc.), the recipient’s email server will recognize that the server that sent the email is not the same as the server that is authorized to send email for that domain.

This is known as “spoofing” and will usually result in the email bouncing (i.e. being rejected).

Your web server is blacklisted

Another common reason why emails may not be delivered is because your web server has been blacklisted. Email servers check incoming messages against blacklist databases. A server can become blacklisted if it sends out a large number of spam emails.

This can be especially problematic on budget hosting providers. Although your site may not be sending out spam, it’s possible another website running on the same server is. Since blacklisting happens at the server level, your site’s emails will be impacted as well.

You can use MX Toolbox’s blacklist checker to determine if your server is blacklisted.

Configuration issue

Another potential reason for your site’s emails not being delivered could be due to a configuration issue. Be sure to check your site’s main Settings page and confirm that the Email Address field is filled in and spelled correctly.

If you’re using an SMTP plugin, it’s possible one or more of the settings is incorrect.  Another common problem when using SMTP is forgetting to update the password in the plugin’s settings when the email account password changes.

How to Fix WordPress Not Sending Emails

So now that we know some of the reasons why WordPress might not be sending emails, let’s look at some possible solutions.

Use Easy Email

Easy Email is a subscription-based service that handles sending your website’s emails for you. It’s unique in that there is very minimal setup required–you install the Easy Email plugin, connect it to your Easy Email account, and Easy Email handles the rest.

Since emails are sent by Easy Email, you don’t need to worry about setting up or configuring SMTP, Amazon SES, or another third-party email service. This also means you don’t have to worry about configuring SPF or DKIM for your domain.

Learn more about Easy Email.

Use SMTP

SMTP stands for Simple Mail Transfer Protocol and allows you to offload the sending of emails to the email server that is authorized to send emails for your domain.

In order to send emails using SMTP, you’ll first need to install an SMTP plugin. There are lots of free options but note that you may need a paid plugin to connect to certain email providers or for more advanced functionality.

Next you’ll need to set up an email account to send the emails from (or use an existing account) and configure the SMTP plugin you installed to connect to your email account. Normally the settings you’ll need are the username and password for the email account, the outgoing server host, and the outgoing port.

Use a Different From Address

Occasionally you can fix WordPress not sending emails by simply changing the email address that your site is sending from. Normally this is the email address shown on the main WordPress settings page. Ask your hosting provider for the host name that is used by the server to send emails and then change the from address to use that host name.

For example, if your server’s host name is fred.flintstonehosting.net, change the from email to something like [email protected]. This can be any email address; the point here is for the domain of the from email address to match the host name of the sending server to reduce the likelihood of email servers rejecting the message because of spoofing.

This doesn’t always work but, when it does, it can be a simple fix.

Configure SPF

You may be able to get emails to go through by configuring your domain’s SPF record to include the IP address of your web server. To do this, ask your hosting provider for the IP address of your server and then add the IP to your domain’s SPF record.

Conclusion

There are several common reasons why your WordPress site might not be sending emails but these can be addressed by using a service such as Easy Email, configuring SMTP, or making other configuration changes.