Considering how important email is to building relationships, marketing and outreach, issues with WordPress not sending emails can be problematic.
WordPress can send emails from contact forms, online store notifications, security alerts and other plugins. Those features are basic but work well enough for most uses.
When someone reports that WordPress email is not working, it’s typically one of two things. Either email is working but the mails are ending up in spam or email isn’t being sent.
As both of these issues can be common, we’ll show you how to tackle both of them.
In this article, we’ll briefly discuss email in WordPress, PHP mail, SMTP and the many reasons for WordPress not sending email.
We’ll also outline some simple ways to fix the issue to get your email back up and running again.
First, let’s look at some common reasons for WordPress sending emails.
Typical Email Types Used With WordPress
Email is an integral part of WordPress and it is used a lot more than we realize. The following are some common types of email a website might send.
- Password reset emails – Every time a user needs their password reset, WordPress will send them an email.
- Contact form emails – Your contact form plugin will use email to alert you of a new message. Your WordPress contact form not working could mean lost business!
- Order receipt emails – If you run a WooCommerce store, you may be alerted to new orders or queries via email. More lost business if you don’t receive them!
- Alert emails from security or backup plugins – Many backup and security plugins will alert you to any issues via email. You may also receive a backup file via email if you use UpdraftPlus or other backup plugin.
There are a number of other email types you might use such as new user registration, update notifications, newsletter emails and others, but you get the idea.
SMTP and Its Use in Email
SMTP, Simple Mail Transfer Protocol, is the main protocol for sending email over the internet. It works across all systems and can be used within WordPress.
By default, WordPress uses PHP to send email, which isn’t ideal. It works for the most part but is less reliable and has fewer mail functions than SMTP.
Even if you’re not having email issues, switching from PHP to SMTP is something we definitely recommend.
Hello! My name is Sujay and I’m CEO of Astra.
We’re on a mission to help small businesses grow online with affordable software products and the education you need to succeed.
SMTP is part of the application layer of the TCP/IP protocol. It uses a system called ‘store and forward to send and receive emails across networks using its MTA, Mail Transfer Agent.
We won’t get too deep into how it all works but suffice to say, SMTP tells the MTA how and where to send email. As part of the process, there is a series of checks to verify the sending and destination email address.
It works a little like this:
- HELO message: Announce the imminent arrival of an email
- EHLO message: Handshake and confirm extended mode
- MAIL FROM message: Specify the sending email address
- RCPT TO message: Specify the recipient email address
- DATA message: The body of the email message
It is that MAIL FROM and RCPT TO message that makes SMTP more secure than POP or PHP. It’s a basic check to make sure the sender and recipient are legitimate email addresses.
It’s also the system that tells email clients that SMTP emails are more trustworthy than POP or PHP.
As you will know from your own junk folder, SMTP is no guarantee that an email isn’t spam. It’s just a form of protection against the worst of it.
Why Isn’t WordPress Sending Emails?
There are a couple of reasons why WordPress is not sending email. One includes improper server configuration and another involves spam. The second technically isn’t WordPress not sending email. It’s more sending email than ends up in the recipient’s spam folder.
Emails Going to Spam
There are a few reasons your email is ending up in the recipient’s spam folder. Those reasons include:
- You’re spoofing your email address – There are options to change the email address to a more attractive one. For example, rather than ‘[email protected]’ you have it displayed as ‘[email protected]’. Spoofing has legitimate uses but is also used by spammers.
- Your web server IP address has been flagged – If you’re using shared hosting, someone else on your server may have been spamming and got the entire server blacklisted.
- You’re using common spammy words in your emails – There are trigger words and phrases that can alert tools like Akismet as they are common in phishing and spam. This is a list of over 200 spam trigger words that could cause your email to end up in spam.
There are lots of other reasons your email may be ending up in the spam folder. Optinmonster has a great resource outlining many of them.
Email Server Isn’t Properly Configured
The other reason WordPress may not be sending emails is because the email server isn’t set up correctly.
As we mentioned earlier, WordPress uses PHP to send email by default. You should really be using SMTP because it uses email authentication. While not foolproof, it makes emails sent via SMTP more trusted than PHP, so they stand a higher chance of making it past spam filters.
We’ll show you how to address that in a little while.
Web Host Blocks PHP Email
There’s another scenario to consider if WordPress is not sending email. That your web host blocks PHP email. Some hosts do this by default as it’s a known vector for spam.
Blocking PHP mail is an effective safeguard used by some hosting providers to prevent users sending spam from their servers. It’s also a technique for targeted blocking of customers who spam.
Contact Form Plugin Is Sending Problem Emails
There is also a third option. That it isn’t WordPress not sending emails. Instead, your WordPress contact form is not working properly.
This can be a simple typo in your email address or something else. We’ll cover that too.
How to Fix WordPress When It’s Not Sending Email
So that’s the what and why, now let’s get on with fixing WordPress not sending email!
First, we should test your setup to see if WordPress is sending emails or not. As usual, there’s a plugin for that.
- Download and install the Check & Log Email plugin on your website
- Select Check Email from the WordPress dashboard and select Status
- Enter your email address in the ‘Send test mail to’ box in the center of the page
- Select the blue Send Test email button beneath
The plugin will send a test email to that email address to identify whether WordPress is sending emails or not. Keep an eye on the email address until it arrives.
Also keep a check on your spam folder, just in case!
If the email arrives correctly, your server settings are working fine. That means the fact WordPress email is not working is more down to spam than malfunction.
If the email doesn’t arrive, there is a configuration issue within your WordPress setup.
The following steps will address both scenarios. Select the options that fit your situation best.
If your emails are sending fine, they are likely being filtered as spam if they aren’t arriving. There are a few things you can do about that.
One reason email ends up being marked as spam is because either the server IP address or email address is being flagged.
You can check over at MXToolbox to see if your hosting server IP address has been flagged or blacklisted.
If your web hosting server IP has been flagged or blacklisted for spam, you will need to follow up with your web host.
Another simple way to avoid being sent to the spam folder is to request users whitelist you. If your emails aren’t getting through, you’ll need to do this via social media or a blog post.
You can also mention it on your contact form.
Simply request the user either whitelists your email, moves it from spam to their inbox or replies to one of your emails. All of these will tell popular email clients like Gmail and Outlook to not block the email in the future.
Whitelisting takes that a step further and will work for non-Gmail or Outlook users too.
SMTP has a real advantage over PHP as it uses authentication to help remove spam. Mails sent via SMTP are less likely to end up in spam filters than PHP emails.
This is how to set it up:
1. Install and activate WP Mail SMTP on your website
2. Complete the setup wizard by selecting an email service, verifying your identity and address and filling in the server details as required
3. Select WP Mail SMTP and Settings from the WordPress dashboard
4. Select the Email Test tab at the top
5. Send a test email to an email address you have access to
6. Wait for the email to arrive
The plugin has a very slick setup wizard that helps you configure SMTP on WordPress. We used the Gmail option, which required two keys from Google to make it work. Other email services are available.
Full instructions on setting up WP Mail SMTP and Gmail are here.
Once configured, you can test using the process above to make sure everything works. There is also a logging tool for email but that’s part of the premium version.
If it’s your WordPress contact form not working, there is likely a simple configuration issue causing the problem. Run the tests outlined above to check if WordPress is set up to send email or not first.
If emails send fine, it’s likely a form configuration issue. Most WordPress contact forms use your system’s emailer to send. If you have just switched from PHP to SMTP, you should retest your form before troubleshooting further.
If your form still isn’t sending email after switching to SMTP, further troubleshooting is required.
Check your form settings to make sure you have the correct email address, the new mail protocol listed and have changed the email ports if relevant.
Check all the form settings to make sure everything is correct. If you make a change, retest the form to see if it’s fixed.
If you use WPForms, select WPForms and All Forms
- Select Edit on a form and Settings
- Work through the form settings to check everything is set up correctly.
If you use Contact Form 7, select Contact and Contact Forms from the WordPress menu
- Select a form and select the Mail tab
- Check all the settings within that tab to make sure they are accurate.
If you need more help, try one of these resources:
If you use WPForms, check out this page of troubleshooting techniques.
If you use Contact Form 7, the website has some useful resources for troubleshooting.
If you use Formidable Forms, check out their support page here.
If you use a different type of contact form, there will likely be support resources available for you too.
One reason we like the WP Mail SMTP plugin is because it has basic email logging built in. Other plugins keep this as a premium option but if you only need basic email logging, this plugin will do.
To turn on email logging:
- Select Check & Log Email and Settings from the WordPress dashboard
- Check the box next to Enable Logs
- Check the email address for any database size warnings to be sent to
- Save your change
You’ll see a new menu entry appear within Check & Log Email in the left WordPress menu called View Logs. This will show you the logs of any and all emails you send from now on.
5 Alternatives to Using WordPress to Send Email
WordPress is fine for sending a few emails at a time but will soon become overloaded when volume increases. When your email list grows, you may want to consider alternatives.
We recommend any of these five alternatives to WordPress email.
Mailchimp is a well-established email platform that has been around for years. It has expanded to include complete websites and marketing solutions but still offers solid email outreach tools.
Alongside email templates and a design tool, there are also valuable insight functions, recommendations, email automation tools and a lot more besides. It’s a full email platform that includes everything you could possibly need.
Mailchimp has a free version and three volume-based premium plans.
Sendinblue is a very popular email platform and the one we use here at Brainstorm Force. It combines email tools with CRM functions and optional extra features depending on your subscription.
The email function includes dozens of attractive email templates and a design tool to build your own. Templates are fully responsive too. Sendinblue also includes A/B testing tools, segmented email lists and other features that make email outreach easier to manage.
There’s a free version and three premium plans that offer volume-based subscriptions with extra features.
Constant Contact is known for being powerful yet beginner friendly. It’s a large, powerful platform with a lot of features tuned towards small to medium sized businesses.
Features include some clever email automation tools for sending mails, email list building tools, social media marketing tools, CRM functions, tracking and reporting and a range of email types for extra engagement.
Constant Contact doesn’t have a free plan but gives the first month free. After that you’ll need one of two premium plans. All offer unlimited emails, which is different to some of the competition.
ConvertKit is designed to offer ease of use alongside powerful features. Many of the features seem created specifically for bloggers and website owners, so will feel very familiar.
Those features include newsletters, email automation, content creation tools, email forms, incentive and offer tools, email autoresponders, drip emails, reporting and analytics, a landing page builder and a very usable dashboard.
ConvertKit has a free option and two premium plans.
HubSpot is well known for offering marketing tools and their email marketing option is just as good.
There’s a free version and a premium version. Both offer simple email tools that cover every conceivable need. It integrates with the HubSpot CRM, has a drag and drop email builder and includes email templates you can use even as a free subscriber.
Premium plans do work out expensive but the free version is second to none!
There are lots of other great email platforms out there that you can use to extend the basic WordPress email functions. These are just five of the best.
Email is such an important tool for engagement that we would be genuinely lost without it. So, when WordPress is not sending email, you’re going to want to address it quickly.
That’s why we put together this post. To help everyone manage email, make WordPress email better and to learn how to troubleshoot WordPress contact forms not working.
You now know how to switch from PHP mail to SMTP, how to check your server IP address to see if it’s blacklisted and have the resources to hand to troubleshoot every aspect of WordPress email.
Is there a scenario we didn’t cover? Have any help or advice for our readers? Tell us your thoughts below!