One of the built-in features of WordPress is its ability to send emails using the PHP function. Sometimes things go wrong and WordPress email does not continue working as intended. And it can cause even bigger issues for your website.
Even when you do set this feature up correctly, it often just doesn’t work. For example, many users will set up contact forms that are supposed to send a confirmation email after it is completed, but it doesn’t.
Today, I will demonstrate how to fix this problem by switching to an SMTP Mailer.
Why Using PHP For Email Is A Bad Idea
Before even continuing this tutorial, let me just say, this was a bad idea from the get-go. While this feature exists, you should not actually be using it because it has a negative impact on your website and the email delivery itself is not great.
Let’s go over a few reasons why you should avoid doing this entirely.
Your Host Will Block Them If They Occur En Masse
Let’s say you started a newsletter and downloaded a plugin that uses the PHP system of WordPress to send them. This can be appealing because it is a free email delivery system.
However, it’s a horrible choice.
You see, most web hosts will actually consider sending out emails in mass to be an abuse and block those emails as being sent. The truth is this email system was designed for system notifications.
You can get away with it when your newsletter list is short, but your web host will catch on and block these from being sent. At this point, your newsletter is dead until you go through the work of setting up a real email delivery system for your newsletter.
It’s Not Very Reliable
You have just clicked on this article because your email messages are not being sent correctly through the PHP system. Do I really need to say anything else?
Of course, this actually goes way beyond just email delivery. Not sending the email is one thing, but what happens when the email is sent and it gets flagged as spam by every email platform (Gmail, Yahoo, AOL, etc.)?
That’s also a reliability problem. I won’t bore you with the details, but to sum it up, when WordPress sends an email in this manner, it actually looks like spam to these platforms, regardless of the content that is in it.
It Is Not Scalable
As your website grows, you will need to send out more emails. Regardless of if you simply use it for form confirmations, purchase confirmations, or the almighty newsletter, eventually, it will be too much for WordPress to handle.
And when that happens, the site owner learns the hard way that they need to purchase a real email solution.
And at this point, you will need to get set up on an entirely new interface, transfer all of your email subscribers to the new service, and begin paying for the service in one fell swoop.
How to Solve the WordPress Email Not Working Error
If I have not made it abundantly clear at this point, let me do so now. The best way to fix the PHP emails not being sent is to not use them in the first place.
It could be that your website doesn’t have the resources to send them out, your web host blocking them, they are not configured correctly, or something else entirely.
The smarter approach is to send your emails using the Simple Mail Transfer Protocol (SMTP). This is the standard all email services use today and will reduce the number of emails you create that get marked as spam.
There are multiple ways to add this in WordPress, but the easiest is with a plugin. In this case, we will use WP Mail SMTP.
Step 1: Install WP Mail SMTP
WP Mail SMTP is easily among the most popular SMTP emails in WordPress and is brought to you by the creators of WPForms, an excellent form plugin. And yes, they work very well together.
This plugin makes it so that WordPress will not use the PHP system, and instead, use an SMTP service.
The keyword here is service. While most offer you generous free trials, and potentially periods where you do not pay until you reach X subscribers, you will eventually pay.
What I will not show you is how to use the specific service you choose because that is a choice you need to make yourself, and the plugin supports several.
To begin, click on Plugins and select the Add New option on the left-hand admin panel.
Search for WP Mail SMTP in the available search box. This will pull up additional plugins that you may find helpful.
Scroll down until you find the WP Mail SMTP plugin and click on the “Install Now” button and activate the plugin for use.
Step 2: Go Through the Setup Wizard
Upon installing WP Mail SMTP, you will be prompted to go through the setup wizard. This is the easiest way to get started, so let’s do it.
The first choice you will be asked for is to choose an SMTP Mailer. There are a lot of choices and luckily, the plugin has put together a great resource to help you decide which one is right for you.
Again, most of these offer a generous free trial, so you can give it a try and see if it works for you.
Now, depending on the mailing solution you chose, you’ll need to enter the API key from the service. Again, this plugin does a really good job and actually provides a guide on how to get each API key underneath the field.
You’ll also need to enter a From Name and From Email. For example, the From Name would be your website, thus in our case, it would be GreenGeeks. Whereas the From Email should be your email account for the website (be sure not to use a personal email).
The next screen will allow you to choose what email features you want to enable. Or in other words, what you plan to use the SMTP mailer for. Simply check the boxes you want and uncheck those you do not.
From there, you will just need to adjust a few more settings and the setup wizard will end.
Step 3: Send A Test Email
After finishing the setup wizard, you are basically done. Now it’s time for a quick test. Luckily, there is a built-in tool for just that.
On the left-hand admin panel, click on WP Mail SMTP and select the Tools option.
The next screen consists of an entry for where to send the test email and a switch to decide if you want HTML On or Off. Enter the email and click the button at the bottom. If the button is not clickable, the configuration was set up incorrectly.
Refer to the plugin and SMTP Mailer documentation for troubleshooting help.
Completing this setup will give your website access to a better email solution that will solve any instances of WordPress email not working. Congratulations!
Other SMTP Plugins You Can Use
WordPress has a ton of plugins to choose from. Since email is so popular, you can bet there are plenty of other SMTP plugins you can try. Let’s take a look at three others you can consider:
Easy WP SMTP
Easy WP SMTP is another popular plugin with over 600,000 active installs. It makes it easy to switch from the default WordPress email system to a more modern SMTP one.
It works seamlessly with all major email services like Gmail, Yahoo, and so on. As the name implies, it is really easy to use, which makes it a great choice for beginners.
Post SMTP Mailer/Email Log
With over 300,000 active installs, the Post SMTP Mailer/Email Log is one of the most popular plugins when it comes to SMTP. This plugin allows you to easily and quickly set up an SMTP email delivery system in WordPress.
It replaces the default PHP mailer with Zend_Mail which is superior in most ways and it even works in a multisite environment.
FluentSMTP
If your WordPress email is not working, using the FluentSMTP plugin to switch from the PHP mailer to an SMTP system is definitely a great solution. This plugin is intuitive to use, which is why it has over 100,000 active installs.
It is compatible with most email service connections, thus, it will fit in on just about any website.
Good Email Marketing Pays For Itself
Many people are under the false pretense that email marketing is dead. Let me make it very clear, email marketing is something every website should invest in and thankfully, getting started is often free.
Most email services will provide a free trial to help you get started. And if everything goes right, your email marketing will be paying for itself by the end of it. Although, results may vary.
In any event, I hope this tutorial helped you solve any instances of WordPress email not working.
How easy did you find the WP Mail SMTP plugin to use? Which SMTP Mailer did you choose?
Very nice an very helpful thanks
I still can’t get my WP web page to mail anything
Not from the contact form, quotes, invoices or mailpoet….
Do you know what could be the issue in cases like this?
thanks
Hello Jacques,
I would contact your website hosting provider so that they can help you identify what is going on.
thanks for the tutorial but some of the tutorial images are not showing up, probably corrupted the links. fixing it would be a help to fully understand the procedues.
We’ve fixed the images, but it looks like we’ll be rewriting this one soon.