Emails not being sent

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 AffiliateWP

If emails from are not being delivered, there are a few things you can check:

  • Admin and affiliate notifications - Go to Affiliates → Settings  Emails and verify the checkboxes are enabled under Email Notifications for the emails you'd like to be sent.
  • New Referral emails to affiliates - If the admin emails are being received when new referrals are created, but the affiliates are not receiving them, the affiliate may not be opted-in. Your affiliates have to check the box next to Enable New Referral Notifications in their Affiliate Area under the Settings tab to receive new referral emails. (As of AffiliateWP version 2.2, this setting is enabled by default.)

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.

Further Reading