WordPress not sending emails is a very common issue among website owners. I’ve seen a lot of clients not receiving emails after visitors fill out their contact form.
A lot of website owners blame WordPress for this issue. However, very often the issue isn’t caused by WordPress but by shared hosting platforms that the WordPress site is hosted on.
Not receiving an email when someone fills out your contact form or when an order is placed in your WooCommerce store can be very frustrating. In fact, it can even cost your business a lot of money. Potential customers may be using your contact form to get in touch with you. Therefore, it’s very important to test whether the emails on your WordPress site are being sent correctly. To fix the WordPress not sending email issue, please follow the steps in this article. Your WordPress emails will be up and running in no time!
Why is WordPress not sending emails?
You’re probably wondering why your WordPress emails are not arriving in your inbox. A common cause for this issue is that your hosting server is not (correctly) set up for PHP Mail. Even if your hosting company did set up the server correctly, a lot of email services may mark your WordPress emails as SPAM. Gmail for instance has tools that try to determine whether an email is sent from a certain location. Emails sent via PHP often don’t manage to pass the test. As a result these emails very often don’t even make it into your SPAM folder.
To fix the WordPress not sending emails issue, you’ll need to send emails over SMTP instead of PHP. SMTP (Simple Mail Transfer Protocol) uses proper authentication to send email and is therefore much more reliable than PHP. There are lots of great SMTP services out there. In this article we’ll be using SendGrid, a free SMTP service.
To fix the issue, we’re going to sign up for a free account at SendGrid. SendGrid is an online SMTP service that will deliver your WordPress emails over SMTP. After creating an account, we’ll install an SMTP plugin for WordPress and link it to SendGrid.
Fixing the issue
The steps below should fix the WordPress not sending email issue.
1: Sign up for a free SendGrid account
To create a free account, go to the SendGrid pricing page and select the “Free plan”. Next, you will need to create an API key. You can find your API keys in SendGrid, under Settings > API Keys (see screenshot).
In this window, click Create API Key. Now enter a name for your API Key and select “Full Access”:
Click the blue “Create & View” button to get your API Key. For safety reasons, you will only see the API key once. Therefore, make sure to copy it and save it somewhere.
2: Install the WP Mail SMTP plugin
The next step is to install the free WP Mail SMTP plugin. We’ll use this plugin to connect our WordPress site to SendGrid. For this step, we’ll need the API key that we’ve created in the previous step. After installing and activating the plugin, you’ll find a new menu in WordPress: Settings > WP Mail SMTP.
In this menu, click the “SendGrid” logo to use SendGrid. Now scroll down to enter your API key and click “Save Settings”.
3: Testing your email
Now that you’ve created a SendGrid account and properly linked it to your WordPress site, you should test if your email is working properly. After following the steps above, you can test your email by going to Settings > WP Mail SMTP > Email Test. Enter your email address and click Send Email.
In some cases, the emails sent by SendGrid may land in your SPAM folder. If you didn’t receive an email, make sure to double check your SPAM folder.
A free SendGrid account lets you send up to 100 emails per day. In your first month you even get 40,000 emails for free. For most website owners, a 100 emails per day is more than enough. If this isn’t enough for you, you may want to upgrade to one of SendGrid’s paid plans (starting at $9.95 per month).
Alternatively, you can use Google Mail (Gmail) using the same WP Mail SMTP plugin. To do this, follow the steps mentioned in this article at WPBeginner.