how to fix wordpress not sending email issue

[SOLVED] How to Fix WordPress Not Sending Email Issue

By Naveed Ahmed | Reviewed by Syed Balkhi | July 18, 2024 | Reader Disclosure

Your WordPress site is failing to send emails. Contact form submissions are disappearing, and important notifications never arrive. You’re not alone, and the problem isn’t WordPress. It’s how websites typically send emails.

In this guide, I’ll explain why your WordPress emails are not sending, and how to fix it using SMTP, the industry standard for reliable email delivery. I have over 15 years of experience working with WordPress, so you can trust that the information I’m sharing is accurate and up-to-date.

To help you easily navigate this post, I’ve broken it down into sections with quick links below:

Why You’re Not Getting Emails From Your WordPress Site

The most common reason for emails going missing is that your WordPress hosting server is not properly configured to use the PHP mail() function. Even if your hosting is configured to use it, many email service providers, like Gmail and others, use a variety of tools to reduce email spam. These tools try to detect that an email is coming from the location that it claims to be from.

Emails sent by WordPress websites often fail this test. This means that when an email is sent out from your WordPress site (from a contact form plugin, admin notification, etc), it may not even make it into the recipient’s spam folder, let alone the inbox.

This is why we recommend not using WordPress to send your email newsletter. This is also the reason why I recommend everyone to use SMTP for sending emails in WordPress.

What Is SMTP?

SMTP (Simple Mail Transfer Protocol) is the industry standard for sending emails. Unlike the PHP mail() function, SMTP uses proper authentication, which leads to high email deliverability.

WordPress has a WP Mail SMTP plugin that configures your WordPress site to send emails using SMTP instead of the PHP mail() function. You can use it to connect with any popular SMTP services like SendLayer, Brevo (formerly Sendinblue), Gmail (Google Workspace), Amazon SES, and more.

With that said, let’s take a look at how to fix the WordPress not sending email issue.

Alternative: If you use WooCommerce and your order emails aren’t being delivered, then you read our guide on how to fix WooCommerce not sending order email issue instead.

Video Tutorial

Subscribe to WPBeginner

If you’d prefer written instructions, just keep reading. You can use the quick links below to navigate through this article:

  • Step 1: Install the WP Mail SMTP Plugin
  • Step 2: Set Up Your SMTP Mailing Service
  • Step 3: Connect Your WordPress Website with SendLayer
  • Step 4: Finish Setting Up WP Mail SMTP to Use SendLayer

Step 1: Install the WP Mail SMTP Plugin

Whatever SMTP service you choose, you’ll need to have the WP Mail SMTP plugin installed on your site. This lets you switch WordPress from using the built-in PHP mail() function to using your SMTP service.

First, install and activate the WP Mail SMTP plugin. If you’re not sure how, then see our step-by-step guide on how to install a WordPress plugin.

Next, click on ‘WP Mail SMTP’ in your WordPress dashboard to configure the plugin settings.

You will need to start by entering the name and business email address you want your site’s emails to come from. Make sure you use the same email address here that you’ll be using for your SMTP mailing service.

You can choose to force emails to use this name and email address, even if other plugins, like WPForms, have different settings. WP Mail SMTP will override the other plugins’ settings.

After that, you need to choose an SMTP mailing service for your site. For this tutorial, we are going to set up SMTP using SendLayer.

To finish setting up WP Mail SMTP, you’ll need to create an account with SendLayer. We will move on to that next and then come back to finalizing the setup on WP Mail SMTP, so make sure to keep this tab open.

Step 2: Set Up Your SMTP Mailing Service

SendLayer is a reliable email service provider. They let you send a large number of emails with high deliverability.

You can use SendLayer to send up to 200 emails for free, which is more than enough for most small websites to get started. These could be emails from your contact form, new user account details, password recovery emails, or any other emails sent through your WordPress site.

First, you’ll need to go to the SendLayer website to create an account. On the Pricing page, click on the ‘Try our SendLayer free trial (send up to 200 emails)’ link to set up your account.

Once you’ve created an account, you’ll see your SendLayer dashboard.

Now that you have a SendLayer account, let’s set up your email provider with WordPress.

Step 3: Connect Your WordPress Website with SendLayer

Before you can send emails with SendLayer, you need to authorize your domain. This proves to email servers that you are the confirmed owner of your sending domain and that your emails are sent from a legitimate source.

To authorize your domain, click the orange ‘Add Domain’ button from the SendLayer dashboard.

On the next page, simply type your domain name into the field provided. Then, click on the ‘Add Domain’ button.

Note: With other mailing services like Brevo (formerly Sendinblue), you need to set up a subdomain for your website first. But SendLayer will automatically add the subdomain to the sender domain’s DNS records. So, you don’t need to add an extra subdomain when registering the domain.

Once you’ve added your domain, SendLayer will show you 5 DNS records that you need to add to your domain’s DNS record settings. These lines of code let SendLayer authorize your domain name.

You’ll need to add these DNS records to your WordPress site. This may seem complicated, but all you need to do is copy and paste them into the right place. For the sake of this tutorial, we will demonstrate our example using our hosting account on Bluehost.

If you are using other hosting companies or if your DNS is managed at a domain registrar like Domain.com, Network Solutions, or GoDaddy, then follow their respective instructions.

First, open up a new browser tab and log in to your WordPress hosting account. Then, find your domain’s DNS records. In Bluehost, you do this by going to ‘Domains.’ Then, click ‘Settings’ next to the domain you’d like to connect with SendLayer.

On the next page, scroll down to the ‘Advanced Tools’ section. After that, click the ‘Manage’ button next to Advanced DNS Records.

You will see a warning message saying that DNS records should be edited by an advanced user. Don’t worry about this message, as the process for this is pretty easy. Go ahead and click ‘Continue’ to proceed.

You will now arrive at the Manage Advanced DNS Records page. To start, click the ‘+ Add Record’ button.

Now, let’s start adding the DNS records that SendLayer has provided. First, select the type of the DNS record. In this case, we will use CNAME for the first record.

In the ‘Refers to’ section, click ‘Other Host.’ You will pick this same option for all of your DNS records later on.

Scrolling down, you will see three fields: Host Name, Alias, and TTL. The Host Name should be filled with the value in ‘Hostname’ provided by SendLayer. The Alias should be filled with the value in ‘Value.’ As for the TTL, you can leave it at 15 minutes.

The screenshot below shows what our screen looked like when we added our first CNAME record. Once you’re done, just click ‘Add.’

You can repeat these steps for all of the DNS records (both CNAME and TXT). When adding the TXT record, make sure to paste the ‘Hostname’ value from SendLayer into the ‘Host Name’ field and the one from ‘Value’ into the ‘TXT Value’ field.

Here’s what it looks like:

After you’ve added your records, go back to SendLayer and check the box next to ‘I have added these DNS records and am ready to proceed.’ Then, hit the ‘Verify DNS Records’ button.

It may take 24-48 hours before SendLayer is able to verify your records. In our experience, it took several hours. If nothing happens when you click that button, the records can’t yet be verified. You can check again later to see if they’ve been verified by going to ‘Settings’ and navigating to the ‘DNS Records & Settings’ tab from your SendLayer dashboard.

Here, you’ll find a list of all of your DNS records in one place. Once your domain has been successfully authorized, you’ll see green checkmarks next to each DNS record in the ‘Status’ column. You can keep going with this tutorial while you wait for the authorization to take place.

Step 4: Finish Setting Up WP Mail SMTP to Use SendLayer

Let’s finish the setup. First, go to your SendLayer account to find your API key. From the SendLayer dashboard, simply go to the Settings » API Keys page. Here, you’ll see a default API key that was generated when you authorized your domain in SendLayer.

You can copy the API key from this page by clicking on the copy icon. Like so:

With that done, you can head back to your WP Mail SMTP setup wizard tab. Then, paste the API key where appropriate.

Congratulations. You’ve now set everything up. The final step is to send a test email to make sure everything is working.

Go to WP Mail SMTP » Tools. In the ‘Email Test’ tab, enter an email address to send an email to. This will default to the site’s admin email. Click ‘Send Email’.

You should see the message ‘Test HTML email was sent successfully!’ Check your inbox to see whether it’s arrived. It’ll look like this:

Note: If your SendLayer account isn’t yet activated, you’ll get the message: [permission_denied]: Unable to send email. Your SMTP account is not yet activated.

Alternative Ways to Fixing the WordPress Not Sending Email Issue

As you can see from the WP Mail SMTP plugin’s list of mailer options, you don’t have to use SendLayer. While it’s our top free recommendation, there are other options that you can use, including Microsoft 365, Gmail (Google Workspace), Amazon SES, etc.

Using Gmail or Google Workspace With WP Mail SMTP to Fix WordPress Emails

If you have Gmail, then you can use that to send your emails. You won’t need to enter your email login details in WordPress when you’re using the WP Mail SMTP plugin.

To use Gmail or Google Workspace, set up WP Mail SMTP as shown above, and then click the ‘Google / Gmail’ option for your mailer.

Next, you can configure the mailer settings by using WP Mail SMTP’s one-click setup. This method doesn’t require you to create your own app, which is much easier. You only need to sign in to your Gmail account and click ‘Save Settings.’

There are a couple of key drawbacks to using your professional Gmail or Google Workspace, however. One is that you may need to contact your web host to get them to install the right certificate to get it working. Another is that if you change the email address in the future, you’ll need to go through the entire process again. This will include creating a new web application.

Using Microsoft 365 With WP Mail SMTP to Fix WordPress Emails

If you use Microsoft Office 365 or Outlook for your regular email account, then you can also use that to send out emails through WordPress. This isn’t a recommended option, though, because it’s less secure.

You’ll need to set up WP Mail SMTP as above, then click the ‘365 / Outlook’ option when choosing your SMTP mailer. Then, you need to register an app on Microsoft Azure so that you can fill out the fields below.

For more details, see the detailed guide on how to set up Outlook with WP Mail SMTP.

Using Amazon SES with WP Mail SMTP to Fix WordPress Emails

Amazon AWS platform has a Simple Email Service (SES) that you can use to fix the WordPress email issue.

The best part about Amazon is that it lets you send up to 62,000 emails every month for free. The downside is that the setup is a bit more challenging for beginners, which is why I don’t recommend it as our preferred option. But as you can imagine, a lot of professionals and experts use Amazon SES for their WordPress email SMTP service, so I couldn’t write an article without mentioning it.

If you’re interested in setting up Amazon SES with WordPress, then see the full instructions on how to set up Amazon SES with WordPress.

Whatever mailer you decide to use, always remember to use the ‘Test Email’ feature to ensure that emails are being successfully sent. You must make sure to check your inbox, too, and confirm that you’ve received the test email.

Experiencing Other WordPress Errors? Check Out These Guides

WordPress isn’t perfect, and you may encounter some common errors from time to time. Here are some tutorials you can check out to solve them:

  • How to Fix Add Media Button Not Working in WordPress
  • How to Fix Image Upload Issue in WordPress (Step by Step)
  • How to Fix the Mixed Content Error in WordPress (Step by Step)
  • How to Fix WordPress Posts Returning 404 Error (Step by Step)
  • How to Fix the “WordPress Database Error Disk Full” Error
  • How to Fix the Error Establishing a Database Connection in WordPress
  • How to Fix “Sorry, This File Type Is Not Permitted for Security Reasons” Error in WordPress
  • How to Fix the 502 Bad Gateway Error in WordPress
  • How to Fix WordPress Search Not Working
  • WordPress Form Does Not Work: 7 Troubleshooting Tips

Conclusion

I hope this article helped you learn how to fix the WordPress not sending email issue. You may also want to see our list of the most common WordPress block editor problems or our picks of the best WooCommerce email customizer plugins.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

FAQs

Why can’t I send emails through WordPress?

The default email sending method in WordPress, the PHP mail() function, often fails due to server configurations and spam filters. Most email service providers (ESPs) have strict rules and may block your emails if they identify your server as a potential spam source.

What is SMTP and why is it better?

SMTP (Simple Mail Transfer Protocol) is a standard for email communication. It uses authentication and encryption, which is crucial for security and delivery reliability. Unlike the PHP mail() function, SMTP makes it harder for emails to get trapped in spam filters.

What is the best SMTP service for WordPress?

There are many great options available, but SendLayer is a good starting point for free users. It allows you to send up to 200 emails per month, which is sufficient for most small websites. Other reputable services include Brevo (Sendinblue), Gmail (Google Workspace), and Amazon SES. The best option for you will depend on your specific needs and budget.

How do I configure WP Mail SMTP plugin?

The WP Mail SMTP plugin guides you through a step-by-step setup process. You’ll need to choose an SMTP provider, provide your login credentials, and then configure the plugin to use your preferred settings.

What if I’m using a different hosting provider?

The process for adding DNS records is similar across different hosting providers. However, the specific steps might vary. Consult your hosting provider’s documentation for instructions on how to manage DNS records for your domain.

How do I know if my DNS records are set up correctly?

After you’ve added the DNS records, you can use a DNS checker tool to verify that they’re correctly configured. The tool will show you if the records are resolving properly, which means your domain has been authorized by the SMTP service you’re using.

What if my test email doesn’t go through?

Double-check that you’ve entered all the information correctly. Make sure your SMTP provider is active and that you’re using the correct API key or credentials. Check your spam folder or contact the SMTP service provider for help.

How do I fix WooCommerce not sending order emails?

If your WooCommerce order emails aren’t being delivered, you need to make sure that WooCommerce is set up to use the SMTP service through the WP Mail SMTP plugin.

Can I use my own email server?

Yes, you can if your hosting provider allows it. However, this is a bit more advanced and you might need technical expertise. If you’re not comfortable with server configurations, it’s best to use a third-party SMTP provider.

What if I don’t want to use a plugin?

While you can manually set up SMTP, it is quite complex. It involves editing the WordPress core files. Using a plugin like WP Mail SMTP is significantly easier and less prone to errors.

If you’re interested in learning more about tech news, feel free to visit my website: www.naveedahmed.me.

Posted in All
Need help for wordpress ?
Contact me
https://whatreligionisinfo.com/ https://uniquefunnynames.com/ unique funny names https://howdidcelebdie.com/