How to Fix WordPress “Not Sending Emails” Issue?
Sending emails – from contact forms and newsletters to various eCommerce shop discounts – to subscribers from a WordPress site is a way to increase engagement. Unfortunately, a common issue WordPress users experience is that the emails either do not get sent or go to spam, ruining the efforts.
One of the methods to fix this issue involves configuring the Simple Mail Transfer Protocol (SMTP) on WordPress. Another option is to improve email deliverability using an external automation server. If none of these methods work, we will share how to check and reset your email hosting.
But before learning how to fix this problem, let’s find out the possible reasons behind the issue of WordPress not sending emails.
Why Is Your WordPress Not Sending Emails?
It is essential to understand how WordPress sends emails to find out why it is not sending them. WordPress has a function called wp_mail to send emails using PHP. This function uses the site’s web server to route and deliver messages.
Once you are familiar with the process, it is easier to point out the reasons why WordPress is not sending emails:
- Unable to configure the server. Most hosting companies do not have their servers adequately configured to send PHP emails. On WordPress sites using the default PHP mail function, this causes the issue.
- Poor sender reputation. If you are on a shared IP address, other senders using the same server can affect your WordPress email deliverability. If they receive a lot of complaints and high bounce rates, it will affect your reputation as well.
- Emails go to spam. Most email providers have dedicated tools to prevent malicious attacks. Unfortunately, WordPress emails can be identified as spam as they are often automated. In addition, the PHP mail function is easy to exploit by spammers.
- Plugins. If you employ a contact form plugin such as WPForms, check the email address used. Its mail server also needs to be properly configured.
- Host-related issues. Web hosts impose varying limits on the number of emails sent. If you exceed them, you’ll be prevented from sending any more.
In case you are not sure whether your WordPress site is sending emails and want to find out, here are some of the ways to do it:
- Reset password. The quickest way to see if WordPress can send emails is checking whether you receive an email after you reset the password.
- Use a contact form plugin. Fill out your site’s contact form yourself to test the plugin.
- Verify if PHP Mail is enabled. Run a test on your WordPress site using the free Check & Log Email plugin.
Set up SMTP on WordPress With the WP Mail SMTP Plugin
Reconfiguring the SMTP server is a popular method to fix WordPress email issues. We recommend using the WP Mail SMTP plugin, a beginner-friendly tool that can help improve email deliverability.
In addition, this method helps authenticate your email address. With around 319 billion emails sent and received every day globally, most email clients look for authentication to avoid malicious messages. This plugin helps emails bypass spam tests and firewalls.
This SMTP plugin works with various email servers, but each server requires different information for configuration and authentication. For example, a Google user needs their Gmail account client ID to use this plugin.
For this tutorial, we will focus on configuring a mail server using a custom email:
- Install the WordPress plugin and click the Activate button.
- Navigate to the plugin Settings from the WordPress dashboard and select General to continue.
- Go to the Mail section and fill out the following information:
- From Email – insert an existing admin email address that represents your website.
- Force From Email – keep it checked to prevent other plugins such as contact forms from changing this email setup.
- From Name – use a name that represents your website, such as its title.
- Force From Name – stop other plugins from changing the name by keeping the box checked.
- Return Path – indicates that non-delivery receipts or bounce messages will return to the same email as From Email. We recommend checking this box to know when WordPress is not sending emails.
- For the Mailer, select Other SMTP and continue with the section below it. Use the information from the email client’s configuration settings:
- SMTP Host – copy and paste the outgoing SMTP server information of the email host.
- Encryption – use the information of the SMTP server. If the server provides Secure Sockets Layer (SSL) info, then select SSL. If the server gives details on Transport Layer Security (TLS), then choose this option.
- SMTP Port – insert 465 for SSL and 587 for TLS.
- Authentication – keep it on to authenticate your email.
- SMTP Username – check the SMTP username from the server.
- SMTP Password – use the password from the SMTP server.
Click Save Settings to finish the setup.
Configuring SMTP Email Service on Hostinger
Hostinger users can get the server details from their email’s configuration settings. To configure Hostinger’s email service for WordPress, log into your account and follow these steps:
- Click on the web hosting to access its hPanel dashboard. From there, go to the Emails section and click on Email Accounts to check the account details.
- Use the Email account details for the SMTP Username and SMTP Password on the WordPress plugin.
- If you do not remember your email password, go to the three dots icon on the right and select Change Password. To see what you type, click on the eye icon next to the password.
- To view the rest of the configuration details, select Set Up Devices under the Domain Name. Then, select Manual Configuration under Configuration Settings. Keep note of the outgoing server’s Hostname and Port to fill in the SMTP Host and Port fields on the SMTP plugin settings.
Head back to the WordPress plugin and configure the email server in the Other SMTP section. Once you have configured the server, send a test email to make sure you can send emails from the WordPress site.
Follow the instructions below to do so:
- Head to the plugin’s Settings and select the Email Test tab. Into the Send To box, insert an email address you have access to. Leave the HTML option ON and click Send Email to finalize the process.
- Check the inbox to check that the test email is there. Also, make sure the email goes to the inbox and not spam.
Using Mailgun SMTP as Your Email Service
Another way to fix the WordPress email issue is to use an external SMTP service. Some of the benefits of using an external server are:
- Reliability. Avoid email issues by having an authenticated reputation that can bypass spam tests.
- Efficiency. Prevent clogging bandwidth by using a filtering tool that redirects spam emails to a quarantine folder.
- Storage space. Send thousands of emails per month to create more active and engaging campaigns.
- Security. Provide advanced security protocols to protect an account by using an encrypted connection.
To fix WordPress email issues using an external server, we recommend Mailgun. It is one of the top email automation solutions on the market that is especially great for sending emails in bulk. It provides a cloud-based service for sending, receiving, and tracking emails.
This tool offers an API-based email server that helps improve the email delivery rate. It prevents fake signups and removes invalid email addresses from the recipient list.
The free trial allows you to send up to 5,000 emails per month for three months. There is no need to enter your credit card information to try it. Furthermore, it is possible to pay as you grow your email list and send more emails. The rest of the pricing plans are:
- Foundation. Send up to 30,000 emails per month and get email address validations, costing $35/month.
- Growth. For $80/month, send up to 100,000 emails per month and get dedicated support.
- Scale. Send up to 100,000 emails and get enhanced deliverability tools, priced at $90/month.
However, you will need to configure the server with any pricing plan.
Configuring Mailgun SMTP
- Log in to the account and navigate to Dashboard -> Settings -> API Keys to view the API Security section.
- Click on the View icon on the right side of the Private API Key. Copy the key to use in the WordPress plugin later.
- Get the domain name from Dashboard -> Sending -> Domains. Under Domains, click on the name to continue.
- The full domain name will be visible under the Overview section. Copy the information to use during the configuration process on WordPress.
- In the Authorized Recipients section, add the recipient’s Email address manually. You will be able to add more by using the premium plans. We also recommend adding your email address for the test email.
- If the process is successful, the email address should appear under Authorized Recipients.
Once you have collected all the information, head back to WordPress. For proper configuration, use the SMTP plugin again:
- Go to the SMTP plugin’s Settings -> General. Use the same information as in the previous section in the From Email, From Name, and Return Path fields, but change the Mailer option to Mailgun.
- Under the Mailgun section, use the Private API Key and Domain Name information collected from the account. For the Region, select the one most relevant to your website. We recommend selecting the US if your location is neither in the US nor the EU. Then, click Save Settings to finish.
- If the process is successful, a confirmation message will appear on the screen.
We recommend sending a test email to make sure that there are no more delivery issues. Don’t forget to register the email address as an authorized recipient in Mailgun before sending the test email.
Reset Your Email Service in hPanel
If you are still facing email delivery issues after configuring the server, the problem can be related to the hosting. Sometimes, a hosting provider creates an SMTP block to prevent sending emails. This block usually happens after sending too many emails per hour.
So, another way to fix the issue of WordPress not sending emails is to reset the email service to get rid of the block.
If you are using Hostinger’s email hosting, here is how to reset the email settings:
- Head to hPanel -> Emails -> Email Accounts and click on the three dots icon on the right side of the email domain. Select Settings to continue.
- There are a couple of options to Manage email account settings:
- Disable email account. Turn off the ability to send and receive emails, as well as log into your account.
- Suspend access. Prevent access to your account.
- Suspend receiving. Block the receiving of emails.
- Suspend sending. Block the sending of emails.
We recommend disabling your account temporarily and clicking Update. To reset the email service and reactivate the account, click on Settings again and turn Disable email account off.
If you are still experiencing issues, we recommend contacting your email hosting provider’s customer service.
Sending emails from a WordPress website is a great way to reach new audiences and engage with subscribers. If WordPress stops sending emails, it is best to fix this issue right away.
There are multiple possible reasons for the WordPress not sending emails issue, but the most common one is a configuration error. We have shared two ways to set up an SMTP email service on WordPress to fix this problem.
The first method involves getting information from your email hosting provider. The other – signing up for an external SMTP provider for better reliability and a more straightforward setup. You will also improve your authentication by configuring the server, which prevents emails from ending up in spam folders.
If the issue of WordPress not sending emails persists, we recommend resetting your email service. This way, you’ll get rid of any hurdles from the hosting provider.
Let us know in the comment section below how you fixed your WordPress not sending emails issue.