Testing whether emails are actually being sent
A quick test to see whether any of your WordPress emails are being sent is to go to your WordPress login page and click on “Forgot Password”. If you do not get the email sent there, this shows that none of your emails are being sent from WordPress. To solve this, you’ll either need to reach out to your webhost to see why your WordPress emails are not being sent, or switch your email sending to be powered by a 3rd party. To learn more about that, see the section on this page called “Using a third party for email delivery“.
Checking your email account
Before assuming that your website is failing to send emails, it is very important to ensure they are not being sent to your spam or junk folders. Check your email account’s spam and junk folders as well as all custom message handling rules you may have configured to verify emails are not just missing your inbox. Attempting to send the emails to additional accounts will help further confirm whether the source of the problem is on the sending or receiving end.
If you do find emails sent by your site in your spam folder, you may want to consider using a third party email delivery service which will improve reliability and deliverability of your messages. Read more below about using a third party to deliver your site’s emails.
Checking email blacklists
If emails are actually sending but are not ending up in the recipients’ inbox, it is possible that the sending domain has been blacklisted and the messages are being rejected.
To find out if your domain has been blacklisted, enter your domain name into one of these services:
If you do discover that your domain has been blacklisted, you will need to work directly with the blacklist(s) in question to request removal. In some cases, this is as simple as filling out a form on their site. For others the process is a little more complex and time consuming.
Logging sent emails in WordPress
Within your WordPress site it is possible to keep a record of emails which are triggered. This does not conclusively verify that the email was sent successfully but it does mean that the site recognized the requirement to send an email and processed the necessary functions to do so.
Free plugins such as WP Mail Logging will allow you to verify that specific emails have been attempted to be sent.
Testing different emails
There are many different emails which can be triggered and sent by your site. An important part of the email troubleshooting process is determining which emails are actually failing. Here’s a quick list of different email messages which can be sent by your site and how to test them:
Emails sent by WordPress
- New user registration – Sent to the email address saved in your site’s General Settings when a new user account is registered.
- To test: In your dashboard go to Users → Add New and create a user. If you check the box labeled “Send the new user an email about their account.” an additional email will be sent to that new user’s email address.
- New comment notification – When non-administrators leave comments on posts or pages on your site, and your Discussion Settings have emails enabled, an email is sent to the site’s General Settings email address, with information about the new comment.
- To test: Go to Settings → Discussion and for “Email me whenever”, check both boxes. Then login to your site as any user which is not an administrator and leave a comment on any post.
Emails sent by WP Simple Pay
- Payment Receipt – Enabled via Simple Pay Pro → Settings → Emails – Sent to the Customer’s email address upon successful payment.
- To test: Go to Simple Pay Pro → Settings → Emails → Tools and choose the “Payment Receipt” test email.
- Payment Notification – Enabled via Simple Pay Pro → Settings → Emails – Sent to the a specified email address upon successful payment.
- To test: Go to Simple Pay Pro → Settings → Emails → Tools and choose the “Payment Notification” test email.
- Upcoming Invoice – Enabled via Simple Pay Pro → Settings → Emails – Sent to the Customer’s email address before an Invoice is processed.
- To test: Go to Simple Pay Pro → Settings → Emails → Tools and choose the “Upcoming Invoice” test email.
Using a third party for email delivery
Reliable email delivery is incredibly important for websites. Unfortunately, non-reliable email delivery is a common problem with cheaper and low-end hosting accounts. Depending on your hosting account to manage email delivery is not a good idea, especially as hosting accounts are often affected by a number of limitations:
- Low sending limits, sometimes less than 250-500 emails per month
- Slow email processing, resulting in delayed delivery
- Poor support for modern HTML emails, resulting in frequent delivery failures
- Overly aggressive spam filters, resulting in emails getting improperly flagged as spam
- Shared email servers, meaning other accounts with the same company can negatively impact your service
These limitations can frequently result in your emails not working. To resolve the problem, you need to connect your site to a dedicated email delivery service.
There are a number of services available that you can choose from:
These services will provide you with near 100% email deliverability at an incredibly affordable cost. They also offer a number of other excellent features, including:
- Open rate reporting
- Delivery rate reporting
- Re-send capabilities
- Better spam protection
- Reputation monitoring
- Email authentication
- 24/7 technical support
Each of these services also offer WordPress plugins available from the WordPress.org plugins repository that make it exceptionally simple and quick to connect your site to the service.
If you prefer not to use one of these services or have your own SMTP server, there are a number of SMTP plugins options available from the WordPress.org plugin repository that will route your email through an SMTP server. We do not recommend using a custom SMTP server unless you’re comfortable with configuring the server and know what you are doing.
- Checking if PHP/WordPress can send mails, by rtCamp
- How to Fix WordPress Not Sending Email Issue, by WPBeginner
- Troubleshooting wp_mail WordPress Email Configuration, by ButlerBlog
- Sending emails with MailGun, by WP Ninjas