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.
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!
In This Article
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.
Next, switch to your website and log in to the WordPress dashboard. Head to Plugins » Add New.
Upload the plugin zip file and click Install Now.
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.
On the next screen, you’ll see a list of available mailers that you can configure in WP Mail SMTP.
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 Brevo (formerly 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 Brevo.
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 |
Brevo | 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 Brevo.
If you want to set up multiple mailers, you can do so in the Additional Connections settings once you’ve finished the Setup Wizard. Then you can select a Backup Connection and configure Smart Routing.
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.
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.
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.
Next, if you enabled email logs, you’ll also have the chance to turn on some advanced email logging features.
These features let you do things like:
- Store attachments in WordPress
- Resend or forward emails that failed
- Export sent emails in EML format
- Export logs in XLSX or CSV format
- Generate email reports
- Track opens and clicks in your WordPress emails
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.
And that’s it! WP Mail SMTP will send a test email to confirm everything’s working.
Frequently Asked Questions About WordPress Not Sending Email
Got questions about WordPress emails not working? We’ll answer some common questions below.
- What Is SMTP?
- What Email Address Should I Use as the “From” Email?
- Can I Set Up WooCommerce SMTP?
- Why Can’t I Use PHPMailer?
- Why Is “Other SMTP” Not Working?
- Why Is “Other SMTP” Making My Site Time Out?
- Why Am I Seeing a DMARC, SPF, or DKIM Warning?
- Why Is WordPress Not Sending Confirmation Email to Users?
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.
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 Brevo, 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.
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.
Gmail rejects unauthenticated emails, so setting up these records is particularly important to make sure your WordPress emails are delivered to Gmail users.
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.
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.
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.
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??
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!
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?
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!
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?
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!
I can send a test email and it works fine.ll that works really well.
However, when I try to send a test email from a Contact email form nothing arrives at my inbox. (I can’t tell if it even sends!)
Hi Ale,
If you are able to send and receive test emails, then you need to check your form notification settings.
In case you’re using a plugin like WPForms, here’s how you can set up form notifications.
You can also force the “from email address” under the WP Mail SMTP -> Settings page and retest your forms.
If you require further assistance, please submit a support thread with more details.
Thanks!
Hi
I use WP Mail SMTP in my wordpress website. My Problem that is email is sending successfully and in wp mail smtp dashboard received success message but nothing received in the destination email.
I use my hosting webmail in wp mail smtp setting and when I sending email trough my hosing webmail, emails will be received.
what should I do to solve this problem?
Hi Aty,
You can try sending a test email (WP Mail SMTP -> Tools) to this online tool to check your email deliverability. Then, you can share the report with your email provider and they should be able to assist you further.
Alternatively, you can configure a different mailer on your site. In case it helps, you can find a list of available mailers here.
I hope this helps. Thanks!
I am receiving notices that hundreds of emails are being sent with this plug in but I am neither sending nor receiving them. It has me concerned. What should I do to troubleshoot? Thank you.
Hi Tracy,
To track and review the email notifications generated from your WordPress site, I recommend installing the WP Mail Logging plugin. This plugin will allow you to log and monitor all outgoing emails.
For example, if you notice spam submissions, you need to implement a captcha service on your forms. For more information, please review this article.
I hope this helps. Thanks!
Good morning,
Is it possible to see the details of the errors in the debugging events window and the content of forms completed but not received due to an invalid API key problem?
“Error number – Mailer: SMTP.com – api_key: invalid – WPForms Lite”
Hi Corentin,
According to that error message, your SMTP.com API key is invalid.
I apologize for the confusion, but WP Mail SMTP and SMTP.com are two different companies. “SMTP.com” is an email delivery service, and “WP Mail SMTP” plugin is an integration service.
If you want to use SMTP.com mailer, you can sign up for a trial account using this link and configure it by following this guide.
Then, you should be able to get their API key from the following link and update your WP Mail SMTP -> Settings page.
I hope this helps. Thanks!
Hi, I followed each step in the Setup Wizard, using SendGrid as the SMTP Mailer. The domain has been authenticated in Sendgrid already. When the Wizard tries to send a test email, something prevented that from working.
This is the message I’m seeing:
An issue was detected.
This means your test email was unable to be sent.
Typically this error is returned for one of the following reasons:
* Plugin settings are incorrect (wrong SMTP settings, invalid Mailer configuration, etc).
* Your web server is blocking the connection.
* Your host is rejecting the connection.
Recommended next steps:
* Triple-check the plugin settings and consider reconfiguring to make sure everything is correct. Maybe there was an issue with copy&pasting.
* Contact your web hosting provider and ask them to verify your server can make outside connections. Additionally, ask them if a firewall or security policy may be preventing the connection – many shared hosts block certain ports.
Note: this is the most common cause of this issue.
* Try using a different mailer.
I’ve triple-checked everything and also contacted the web hosting provider, and haven’t found a solution. I’ve used this same setup on many other websites, without any trouble.
Are you able to tell where the problem is, please?
Hi Constanza. It sounds like your troubleshooting has been thorough so far. To solve this, I recommend reaching out to our trusted advisors in the support team. They can give you a personalized response in more detail than I can cover here.
If you’re using the free version of WP Mail SMTP, please post your comment in a new thread on our support forum. If you have a paid license, you’ll get a faster response by opening a new support ticket.