Why are My WordPress Email Notifications Not Sending?

WordPress by default uses a server’s PHP Mail service to send notifications or ‘transactional emails.’ These are automatic emails triggered by something a user does on the site, such as submitting an order or a form. The site might sent out an email confirmation in response to both of these actions.

But sometimes the PHP Mail service is not set up on a hosting server at all. This is common on shared servers where the host wants to avoid mail abuse. Other times, it’s set up incorrectly, resulting in your notifications either not being delivered or only getting delivered sporadically.

In those cases, it’s necessary to use another mail server’s SMTP (Simple Mail Transfer Protocol), which tends to be more reliable than PHP Mail. This is easier than it sounds!

You have a few choices. You can use any of a number of SMTP plugins for WordPress (my current and long-time favorite is Post SMTP) with either option, so you’ll need to install and activate that plugin first.

Using Your Own SMTP

The first option is using SMTP associated with one of your email accounts, like a Gmail, GoDaddy or Rackspace account.

Setting up an SMTP plugin in WordPress to work with one of your outside email accounts is pretty simple. Most SMTP plugins have a wizard that walks you through the steps. You’ll  need the email address and password, and the SMTP host and port. For example, here are the SMTP settings for Gmail (as of the writing of this post).

This setup usually works fine but is not ideal, as it’s still not the best for ensuring a high level of deliverability. Deliverability is an issue because these types of transactional emails need to get through quickly and without failure.

Third Party Email Services

The other option is using a third party service like SendGrid. I use SendGrid myself and recommend them mainly because using their system reduces the possibility of having your site’s email notifications flagged as spam. Nobody can guarantee 100% deliverability, but tools like SendGrid help to improve your odds.

As of this post, SendGrid is free for up to 100 emails per day. You can set it up for 1 month to get 40,000 free emails and it will show you how many per day the site is sending to see if you’re within 100/day limit. Above that, it’s $14.95/mo for 100,000 emails per month, and so on for higher limits.

Many WordPress SMTP plugins, including Post SMTP, include the option to set up third party email services like SendGrid.

More Reliable Email

Whichever option you choose, you will be able to count on more emails being delivered correctly than when you relied on your host server alone. And that’s worth taking some time to set up SMTP on your site.

Need help? Feel free to contact me or add a comment below.