Jul 02, 2019
How to Fix WordPress Not Sending Email Issue?
Is WordPress not sending emails properly? No worries, this is a common issue that’s easy to fix!
Identifying the Issue
Before we get to the bottom of this problem, let’s clear one thing up first.
WordPress not sending emails has nothing to do with your hosting provider.
While a hosting service does have a lot of power over your website, sending your emails via the WordPress email function is a completely different story.
The fault of WordPress not sending emails most likely lies in the PHP mail function configuration on your WordPress installation. The native WordPress email function requires to be set up manually with the help of a third-party plugin.
Now, before you shift the blame to the poor WordPress, hear us out first.
Despite having an email feature, WordPress is not a good option to do that particular task from the get-go. Even if it’s working, emails sent from WordPress sites tend to fail the spam test conducted by both hosting providers and email services.
That’s why they usually end up getting blocked or thrown into the spam folder.
Luckily for you, it’s still possible to ensure your email deliverance despite being sent from a WordPress site. Instead of merely using WordPress’ native email service, you can configure a Simple Mail Transfer Protocol (SMTP) server in it.
This step is essential as it will guarantee your emails’ deliverability with its authentication feature. That way, your emails will finally have the proper authentication needed to bypass spam tests and firewalls.
SMTP servers will also help you to manage the outflow of your email traffic, thus allowing you to send out a bulk of emails at once.
If you’re a Hostinger client, feel free to test the tutorial below as we equip all of our hosting plans with an SMTP server.
Set Up SMTP on WordPress
WordPress not sending emails is an annoying issue, with a simple solution. To beat it – you neet so set up SMTP on WordPress.
Simple Mail Transfer Protocol (SMTP) facilitates email deliverance between servers. SMTP is usually paired with POP3 or IMAP as the receiving end (see the difference between POP3 and IMAP protocols here).
There are various methods and plugins that you could use to send emails from WordPress using the SMTP method. In this article, we will only cover the steps to doing so using Hostinger email service and Mailgun automation server.
Before we get to that part, we need to address the problem first by setting up the PHP mail function on WordPress. This step will allow WordPress to send emails via a proper SMTP protocol.
For this tutorial, we will use the WP Mail SMTP WordPress plugin.
This plugin is a great option to do the job as it has four different SMTP setup options. We will further discuss how to the two of them after properly configured your WordPress site for sending PHP emails.
Here are the steps to setting up SMTP on WordPress:
1. After installing the WP Mail SMTP plugin, click the button Activate.
2. Navigate to the Settings area of WP Mail SMTP on the WordPress dashboard.
3. Choose your email address and sender name, then set the SMTP to Default.
4. Once you’re done, click on the Save Settings button.
5. If the process was successful, a confirmation message will appear on your screen.
6. To make sure everything works perfectly, you can use the WP Mail SMTP’s Email Test feature. Type in any recipient’s email address of your choice, then click Send Email to forward a test email.
7. If the test is successful, this message will appear on your screen. Check the recipient’s inbox to make sure that the email is there.
Congratulations, now you can send emails from your WordPress site!
Configuring SMTP Email Service on Hostinger
Despite having solved your initial problem of WordPress not sending emails, there’s no harm in checking other methods that might give you a better experience.
That’s because there are other ways to ensure your email deliverance other than using a third-party WordPress plugin. One of them is by taking advantage of your web hosting provider’s dedicated SMTP mail server.
These days, many web hosting providers equip this protocol in their hosting plans as a standard feature. With their security protocol and encrypted port, your emails will be well taken care of until they reach their respective recipients.
If you’re subscribed to one of Hostinger’s hosting plans, you’re in luck! All of our hosting plans fully support SMTP, POP3, and IMAP protocols to assist your email activities.
We highly recommend making use of this feature as we dedicate our SMTP server to ensure that WordPress not sending emails issue won’t happen again.
Here are the steps to configuring Hostinger’s SMTP email service in WordPress:
1. For the configuration process, you need to gather some information regarding your Hostinger account’s SMTP details.
In the Hostinger Control Panel area, navigate to the Email Accounts within the Email section.
2. You’ll find your email details on the lower part of the Manage Emails page. The details that will be used in the configuration process are the SMTP Host and SMTP Port.
You might want to write both information down as you will need them later.
3. Moving on to the WordPress dashboard, find WP Mail SMTP on the Plugins list and enter the Settings area.
4. On the Settings page, change the Mailer to Other SMTP and an extended menu of configuration will appear. Fill the SMTP Host and SMTP Port textboxes with the information you have retrieved in Step 2.
As for SMTP Username and SMTP Password, use the login details of your email account created within your hosting account. The From Email data follows your SMTP Username or email address. Also, don’t forget to change the Encryption to TLS.
5. Once you’re done, click on the Save Settings button.
6. If the process was successful, a confirmation message will appear on your screen.
7. Make use of WP Mail SMTP’s email test feature to check if everything works perfectly.
Type in any recipient’s email address of your choice, then click on the Send Email button.
8. If the test is successful, a confirmation message like this will appear on your screen. Check the recipient’s inbox to make sure that the email is indeed there.
Configuring Mailgun SMTP As Your Email Service
The previous tutorials prove that you can send emails from either the WordPress email service or your web hosting SMTP support. However, there’s another method where you use an external SMTP service to do the job.
In most cases, hosting providers and email services are equipped with an antivirus and spam test. Emails originated from WordPress sites usually cannot go past those filters. The use of an external SMTP service will easily remove this hindrance as they have an authenticated reputation that could bypass most spam detections.
If you’re using VPS hosting, there’s no need to set up and maintain a server. The need to purchase and maintain your own hardware is also removed from your worry list.
External SMTP services’ best features include a robust spam filtering that could redirect spam emails to a quarantine folder. This measurement prevents them from clogging your inbox and, most importantly, bandwidth.
Dedicated storage space
This feature is particularly essential if you’re managing a business email that gets a constant flow of emails per day.
Secure webmail access
Aside from the spam filtering, external SMTP services also have advanced security protocol. This feature ensures an encrypted connection from the moment you sign in until the time you sign out.
As one of the best email automation services in the market, Mailgun poses as a strong candidate for your email deliverance facilitator.
Mailgun provides a cloud-based email service for sending, receiving, and tracking emails sent through your site. The free plan allows you to send up to 10,000 emails per month or 100 emails per hour.
Once you feel this number doesn’t suffice, you can upgrade your plan to increase those limits and get additional perks that the free plan doesn’t get.
The paid plan is particularly important for those who need to continually send out a lot of emails at once. Mailgun offers Batch Sending and Recipient Variables features to effortlessly do that job for you.
More info about the pricing is available here.
Here are the steps to configuring Mailgun SMTP as your email service in WordPress:
1. Sign up for a free account on the Mailgun site. Since we won’t use a paid account, you can leave the Add payment info now box unchecked for now.
After filling the form with the correct data, click the button Create Account.
2. After completing the signup process, there are still a couple of verification steps to complete. Follow the onboarding process and you should be good to go in no time.
3. For the configuration process, you need to gather the private API key and domain name first.
To retrieve your API key, navigate to the API Security area in the Settings. Click on the View button to reveal your private API key.
As for the domain name, navigate to the Domains area under the menu Messages. You might want to write the information down as you will need it later.
4. Since we’re using Mailgun’s free plan, we need to manually input the recipient email address into the account. You can add up to five recipients. If the limit doesn’t suffice your needs, there’s always an option to upgrade your plan later.
From the Domains area, click on your domain name. On the Overview page, the Authorized Recipients box can be seen on the right side.
Enter your recipient email address, then click the button Save Recipient. If the process is successful, the email address should appear on the box.
5. Now, we move to the WordPress dashboard. Find WP Mail SMTP on the Plugins list and enter the Settings area.
6. On the Settings page, change the Mailer to Mailgun and an extended menu of Mailgun configuration will appear.
Fill the Private API Key and Domain Name textboxes using the information you have retrieved in Step 3.
7. Once you’re done, click on the Save Settings button.
8. If the process was successful, a confirmation message like this will appear on your screen.
9. As usual, make use of WP Mail SMTP’s Email Test feature to check if everything works perfectly.
Type in the recipient’s email address that you have registered as an authorized recipient on Mailgun, then click on the Send Email button.
10. If the test is successful, this message will appear on your screen. Check the recipient’s inbox to make sure that the email is there.
If you want to try out their service instead, this article provides a thorough step-by-step tutorial on how to take advantage of the Google SMTP server to send emails.
WordPress is one of the best Content Management System on the market. Despite their nature and popularity, WordPress is unable to excel in the email deliverance area.
If you encounter any issues related to WordPress not sending emails, the source of the problem most likely lies in its’ PHP mail function configuration.
Another thing that might disturb your email traffic sent from WordPress sites is the spam test conducted by the recipient’s hosting providers and email services. This is due to the fact that native WordPress emails don’t have the proper authentication to bypass those security measurements.
For these reasons, we don’t recommend using the native WordPress email function to send emails.
Instead, you can make use of other free external SMTP services. WordPress has a selection of plugins like WP Mail SMTP that could enhance your email deliverability.
Several hosting providers like Hostinger also equip their hosting plan with an SMTP protocol that you can take advantage of.
The last option is to use independent email automation services such as Mailgun and Google SMTP server.
Either way, we encourage you to prioritize the security and deliverability of your emails by configuring an SMTP protocol in your WordPress.