Occasionally your WordPress site might experience trouble sending emails reliably. This can happen for a wide variety of reasons, and narrowing down the problem can be difficult. This article will walk you through some basic steps to understand why your site is having trouble and what you can do about it.
In order to properly troubleshoot your email situation, you need first to understand how email works in WordPress generally.
By default, WordPress uses PHP to send all mail from your website. This is a somewhat different means of communication than standard emails. This means that your server (your host) has to support PHP mail in order for your WordPress emails to be sent.
When you install WordPress for the first time, you are asked to provide a name and email address for the first user of the website. This is your primary administrator account and the email you choose here will be used to send all administrative emails from your website. It’s best to choose an email address from your domain name, rather than a Gmail or Hotmail address.
Let’s find out now if your site is able to send an email at all. The easiest way to do that is with a simple plugin called “Check Email”. Simply install that, then go to “Tools > Check Email”. You’ll see a screen like this:
The "Check Email" plugin allows you to easily confirm whether or not your WordPress website is able to send emails reliably. It provides you with some handy information about your environment at the top, then a simple form to send a test email. If you send that to an address you have access to and it sends successfully, then you know that your site is capable of effectively sending emails.
Now that we know a bit about how WordPress sends emails, and we know how to test whether emails are being sent correctly, what do we do if emails are not being sent at all?
Double Check Your Admin Email Address.
Some hosts require that all email sent from the server are from your root level domain address. For example, if your site is greatcause.org and your Admin email address is firstname.lastname@example.org, your server might refuse to send the emails that WordPress generates. To change this, simply go to “Settings > General” and update the field called “Email Address.”
Verify Your Email Address Is Registered Correctly.
Some hosts prevent email from sending if it is not properly registered in your account. For example, you might have an email address registered in your hosting account (or cPanel), but your WordPress site is sending from another email address which is not registered at all. Some hosts will prevent any mail from being sent out from your site unless it is registered properly.
If you’ve done all of that and you still have trouble, there’s one final thing you can do which has a virtual 99.9% success rate....
SMTP is the most reliable way to send email from a web server. It is not at all like PHP mail or wp_mail. It is secure and reliable. But how do you configure your WordPress site to use SMTP instead of PHP mail? We suggest using the Post SMTP plugin. This is a great plugin because it provides a step-by-step walkthrough for configuring your email for SMTP. This video covers exactly how it walks you through the process of setting up sending emails via SMTP using a Google SMTP API: