WordPress not sending email

How to Fix WordPress Not Sending Emails in 2022

Do you want to know how to fix WordPress not sending email issue?

This is a super common problem, and almost everyone with a contact form will run into this issue at some point. But it’s also really easy to fix.

We’ll show you how to fix your WordPress email issues so you can start receiving notifications without any trouble.

Fix Your WordPress Emails Now

Why Are My WordPress Emails Not Sending?

There are a few potential reasons why your WordPress emails aren’t sending:

  • Your emails look like spam: This is the most common reason. When your web server generates an email, it only creates the headers required for basic email delivery using PHP mail().  The default PHP mail() function doesn’t add any authentication to prove that the message is legitimate. You can use WP Mail SMTP to fix this.
  • Your web hosting provider has disabled PHP mail():  Due to inherent security problems with PHP mail(), many web hosts simply disable PHP for mailing, so your WordPress site can’t send messages at all. You might run into this if you Amazon EC2 or Lightsail. WP Mail SMTP will allow you to get around this since it uses SMTP rather than PHP for email deliveries.
  • You’re using localhost: If you’re creating your site on your computer before uploading it, your emails likely won’t work. WP Mail SMTP will fix WordPress not sending email on localhost, so you can receive WordPress notifications as a live site would.

No matter the reason, if you’re not receiving emails from WordPress, there’s a very good chance that WP Mail SMTP will solve the problem.

How To Fix WordPress Not Sending Email Issue

Here’s a good video tutorial that breaks it all down:

If you prefer to follow written steps, keep reading for the details!

1. Install the WP Mail SMTP Plugin

We’re going to use WP Mail SMTP to re-route your emails through a 3rd party email service provider (ESP). This will add the authentication required to get them delivered reliably.

First, you’ll want to install WP Mail SMTP on your WordPress site. WP Mail SMTP is a WordPress plugin that reconfigures PHP mailer function wp_mail()to use SMTP rather than PHP.

You can use the free or paid version, but you’ll want Pro or above to use the email logging and reporting features. We’ll talk about these plugin settings later.

To download the plugin, head over to your WP Mail SMTP account and click the Downloads tab. You can download the plugin zip file by clicking Download WP Mail SMTP.

Download the WP Mail SMTP plugin

Next, switch to your website and log in to the WordPress dashboard. Head to Plugins » Add New.

Add new plugin in WordPress

Upload the plugin zip file and click Install Now.

Install WP Mail SMTP

Once the plugin is installed, be sure to activate it. This will start the Setup Wizard in your browser.

Now we’re ready to set up your email provider for WordPress.

2. Connect Your WordPress Website to a Mailer Service

We’re going to route your emails through a separate email provider to fix the WordPress not sending email issue.

With WP Mail SMTP, this is super easy to configure. We’re going to use the Setup Wizard so you don’t have to spend time playing around with the configuration settings yourself.

To start, click the Let’s Get Started button in the Setup Wizard.

click the Let's Get Started button

On the next screen, you’ll see a list of available mailers that you can configure in WP Mail SMTP.

Choosing a mailer in the WP Mail SMTP setup wizard

All of these providers will help fix the WordPress not sending email issue. However, some of them aren’t suited to large volumes of email.

Here’s a quick guide if you’re not sure what to pick here:

  • Small websites or testing: You can use Other SMTP for this. However, keep in mind that most SMTP servers have rate limits, so this could cause your WordPress emails to fail on a busy site. For an alternative option, SendLayer, Postmark, and Sendinblue all have free trial accounts.
  • Website sending a few emails a day: The Gmail mailer is a good option if you have a Google Workspace or Gmail account. It’ll allow you to send emails from any of your Gmail aliases in WordPress, which is handy if you want to use different Gmail aliases with different forms or plugins. Gmail and Google Workspace are a little bit more complicated to set up, though.
  • Medium to large websites: Websites that send transactional emails should consider a professional email provider like SendLayer, SMTP.com, or Sendinblue.

If you’re not sure what to pick, SendLayer lets you start sending emails for free. It also authenticates your domain name, rather than an individual email address, so you can send email from any address at your domain in WordPress.

When you’ve chosen a mailer, jump to the documentation using the links below. The doc will help you set up a connection between your website and the mailer you chose in the Wizard.

Mailers available in all versions Mailers in WP Mail SMTP Pro
SendLayer Amazon SES
SMTP.com Microsoft 365 / Outlook.com
Sendinblue Zoho Mail
Google Workspace / Gmail
Mailgun
Postmark
SendGrid
SparkPost
Other SMTP

The documentation for your email provider will explain where to find the credentials you need, and where to paste them into the Setup Wizard.

Need a hand?

Our Elite license includes White Glove Setup for SendLayer, SMTP.com, or Mailgun.

When you’ve set up a connection, switch back to this guide.

3. Turn On Email Logging

In the next step, the wizard will have two options enabled by default. They are:

  • Email deliverability
  • Error tracking

Both options will help in improving email deliverability.

If you have WP Mail SMTP Pro, you can enable additional features here too.

Enabling email logs and email alerts in the WP Mail SMTP Setup Wizard

The first feature you can enable here is Detailed Email Logs. This feature lets you see your emails’ delivery status and other helpful information in Complete Email Reports. If you’d like, you can also receive a Weekly Email Summary showing an overview of your recent logs.

Email Summary With Statistics in WP Mail SMTP Pro

This helps you to actively monitor your contact form emails to make sure you’re not missing any.

Instant Email Alerts let you know when an email from your site fails to send. This way you can efficiently fix the problem and get your emails sending again.

An email alert notification

Next, if you enabled email logs, you’ll also have the chance to turn on some advanced email logging features.

Configuring email log settings in the WP Mail SMTP Setup Wizard

These features let you do things like:

Open and click details in WordPress email log

For more details, see our post on WordPress email logging.

Now we’re ready to complete the Setup Wizard and test your email.

For the last step, grab the license key from your WP Mail SMTP account and paste it into the box to enable Pro features and future updates.

Enter WP Mail SMTP license key

And that’s it! WP Mail SMTP will send a test email to confirm everything’s working.

Fix Your WordPress Emails Now

Frequently Asked Questions About WordPress Not Sending Email

Got questions about WordPress emails not working? We’ll answer some common questions below.

Let’s get started.

What Is SMTP?

SMTP stands for Simple Mail Transfer Protocol. It’s the protocol that servers use to send emails.

In WordPress, you can use SMTP to send emails instead of relying on your web server. This is more reliable because it adds the correct authentication to your emails.

What Email Address Should I Use as the “From” Email?

Many contact form plugins use the admin email as the From address. This can cause email deliverability issues.

Now that you have WP Mail SMTP installed, you should always use the From Email that you authenticated in the Setup Wizard.

That will ensure that all of your emails have the correct authentication. In other words, the emails from WordPress will be delivered as though they were sent from your email account.

If you have a ton of different plugins all sending email, WP Mail SMTP allows you to force the From Email and the From Name across your entire site.

Forcing the From Email in your WP Mail SMTP settings

This is a super easy way to make sure you’re not sending email from a From address that isn’t authenticated.

Can I Set Up WooCommerce SMTP?

Yes! Once you’ve completed the steps in this tutorial, all WooCommerce order emails will be sent from your chosen mailer.

You can use an SMTP server for WooCommerce, but we recommend that you use a transactional email provider instead. This will make sure your customers get WooCommerce order emails quickly.

Why Can’t I Use PHPMailer?

PHPMailer is the default method of sending email in WordPress, but it’s very unreliable. With PHP mail(), your emails are sent without any authenticating information. As a result, mail servers typically treat PHP emails as spam, leading to deliverability issues.

To stop your WordPress emails from going to spam, you need to configure your WordPress site to use SMTP, which provides the necessary authentication to prove your emails as legitimate.

The WP Mail SMTP plugin is used almost universally by WordPress sites to stop sending emails with PHP and use SMTP instead. Plus, it makes troubleshooting email problems a lot easier with WP Mail SMTP’s built-in email log feature.

Why Is “Other SMTP” Not Working?

If the Other SMTP mailer isn’t working, or you’re getting an SMTP error, first check that you’re using the correct SMTP settings in WP Mail SMTP.

In particular, pay attention to the SMTP port since different servers have different requirements.

If that doesn’t work, you may be using a host that blocks SMTP or restricts you from using its own SMTP server. This block is typically put in place to prevent users from sending spam from WordPress, or to encourage you to pay for the host’s own SMTP service.

If SMTP is blocked by your host, you can use any of the API-based email providers like Sendinblue, SMTP.com, or Gmail to get around that. For more details, check out our articles on:

These guides are designed specifically for customers who can’t use SMTP to send email on their hosting plan.

Why Is “Other SMTP” Making My Site Time Out?

If the Other SMTP option is causing your WordPress site to time out, that’s a sign that you may have an incorrect DNS setting, or your SMTP server is down.

This is also a common issue for Cloudflare users who have the wrong proxy settings on their DNS zone. Check out this guide to fixing WordPress emails on Cloudflare for full details of the settings you’ll need to change.

Why Am I Seeing a DMARC, SPF, or DKIM Warning?

WP Mail SMTP has a Domain Checker that automatically scans your domain’s DNS records. If it spots a problem with your DNS that could affect email deliverability, it’ll notify you when you send a test email.

Domain Check results

To fix this, start by reading our guides on DNS:

Once your DNS records are correct, your emails will have the right authentication and will no longer land in your recipient’s spam folder.

Why Is WordPress Not Sending Confirmation Email to Users?

If you’d like user users to receive a confirmation email after submitting a contact form on your WordPress site, you can easily set this up using WPForms. For more information, see this article on how to send confirmation emails to users after submitting forms.

Fix Your WordPress Emails Now

Next, Track Email Activity in WordPress

Now that you’ve fixed WordPress not sending emails, check out our open and click tracking.

You can track opens and clicks on individual emails or generate an email report for any subject line. This makes WP Mail SMTP an awesome user tracking plugin.

Open and click rates in WordPress graph

And if you’re looking for more plugin options, check out our roundup of the best WordPress email plugins.

Ready to fix your emails? Get started today with the best WordPress SMTP plugin. WP Mail SMTP Elite includes full White Glove Setup and offers a 14-day money-back guarantee.

If this article helped you out, please follow us on Facebook and Twitter for more WordPress tips and tutorials.

Comments

  1. I need to know how to change my contact form email on my website. Its sending the form details to my Admin address which I dont want??

    1. Hi Glen,

      By default, your form notifications will be delivered to the admin email address as you have mentioned.

      You need to check your form notification settings and set your preferred “send to” email address. If you’re using a plugin like WPForms on your site, here’s how you can set up form notification settings.

      If you’re using any other plugin, please check their documentation accordingly.

      Thanks!

  2. I’ve set this all up, and can send a test email. All that works really well.

    However, when I try to send a test email from a Contact 7 email form nothing arrives at my inbox. (I can’t tell if it even sends!) Where do I trouble shoot this one? Could the template be forcing the use if phpmailer() and thereby ignoring wpmailsmtp?

    1. Hi Murray,

      First, try enabling the “Force From Email” option under the WP Mail SMTP -> Settings page and retest.

      If you’re using the WP Mail SMTP Lite plugin (free version), please create a support thread to assist you further.

      If you’re using the Pro version, you can create a support ticket.

      Thanks!

  3. I followed each step in the setup. but when send a test email I get a error 32 Domain is not activated. Godaddy originally hosted my site. When I changed to bluehost, I only changed my A Record. Could this have something to do with my problem?

    1. Hi Bill,

      Did you configure the SendLayer mailer on your domain? The error indicates that your DNS records are not verified.

      If you have changed hosting recently, you need to double check your SendLayer DNS records.

      I hope this helps. Thanks!

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.