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.
How Does WordPress Send Emails?
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 WordPressemails 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.
Testing Your Emal Configuration
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.
Reasons Why Emails Might Not Be Sending Correctly
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....
Sending Email From Your WordPress Site via SMTP
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 thePost 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:
You can create an email email filters through your cPanel control panel which is where you manage your hosting account. Email filters can be set up to target specific word, subject, from or to. Emails that are filtered out can be sent to a different email, deleted, delivered to a...
If you find your cPanel disk space filling up, or an email address has hit its disk space quota, cPanel has a helpful built in Email Disk Usage tool. This will provide you with a simple to understand breakdown of how much disk space each folder for a particular email...
Although WHM will normally automatically keep itself up to date, you may want to manually check for server updates / push through an update that is pending, or it may be that you have automatic updates switched off on your cPanel server. In this guide we will show you how...