WordPress not sending emails is one of the common issues you may encounter as a WP user. This error can prevent you from getting emails from WordPress on important updates or password reset attempts.
Also, if you are using a contact form plugin on your website, you may not receive emails from your users when they try to contact you.
In this guide, we will explain the causes of this issue in WordPress and then show you how to resolve email issues in WordPress.
- Common Reasons for WordPress Not Sending Emails
- How to Test Email Server if WordPress is not Sending Email
- How to Fix WordPress Not Sending Emails Issue
- Prevent WordPress Emails from Being Marked as Spam
Common Reasons for WordPress Not Sending Emails
If your WordPress site is not sending emails, it is usually due to incorrect email settings, hosting provider restrictions, or plugin conflicts:
Incorrect Email Settings
In many cases, incorrect email settings involve the WordPress configuration itself. If the email address set in the WordPress General Settings (found under Settings -> General) is invalid or not properly configured, emails sent from the website, such as password reset or notification emails, will fail to be delivered.
Another aspect is the function WordPress to send emails. WordPress uses the PHP mail() function for emails. If the PHP mail settings are not correctly configured on your server, WordPress will be unable to send emails. This misconfiguration can happen if the sendmail_path is not correctly set in the php.ini file, or if certain restrictions are imposed by the hosting provider.
Additionally, if your website is supposed to send emails using SMTP (Simple Mail Transfer Protocol) and the SMTP settings (like host, port, username, password, and encryption) are incorrect, email delivery will fail. This is a common issue when the website is migrated to a different server without updating the SMTP settings.
Hosting Provider Restrictions
Many hosting providers have restrictions or specific requirements for sending emails to prevent abuse and ensure server security. Some hosts disable the PHP mail() function entirely and require website owners to use SMTP or an external email service provider.
Web hosts often have limitations on the number of emails that can be sent per hour or day from a shared hosting account. If these limits are exceeded, subsequent emails will not be sent.
Some hosting providers also require specific configurations or authentication methods for sending emails to ensure that emails are not marked as spam. This may include the use of SPF (Sender Policy Framework) records, DKIM (DomainKeys Identified Mail) signatures, or other email authentication methods.
WordPress websites often use a variety of plugins, and sometimes these can conflict with each other, especially if multiple plugins are trying to modify the email functionality.
A common scenario is when an SMTP plugin conflicts with another plugin that manages emails. This can lead to one plugin overriding the settings of the other, resulting in failed email delivery.
In some cases, security or caching plugins may inadvertently block email functionalities as part of their operation. For example, a security plugin
might have settings that restrict outgoing emails to prevent spam, or a caching plugin may cache email settings erroneously, leading to outdated configurations being used.
Also, if your contact form plugin is not properly configured, you may end up not receiving emails from your users.
Before troubleshooting the issue, you need to confirm that the emails are not being sent by WordPress. Below we will show you how to test your emails in WordPress.
How to Test Email Server if WordPress is not Sending Email
In case you want to confirm that your WordPress emails are not sending, you can use any of the following methods;
- Use the reset password feature to see if WordPress sends a link to reset your password.
- Send a message from your contact form.
- You can also use the Check & Log Email plugin to check if wp_mail is enabled on your website.
How to Fix WordPress Not Sending Emails Issue
Contact Your Webhost
As we saw in the preceding section, WordPress email issues are often the result of hosting restrictions. A quick fix for this is to reach out to your host and confirm if the php mail function is disabled. If your host confirms that it was, and they agree to turn it on, then that will fix your WordPress issue.
They may also have other logs and insights to help you fix the issue from your server. However, if you want to avoid all the hassle (which we highly recommend), you can bypass your web hosts restrictions and fix your email issues with the use of an SMTP server.
Install An SMTP Server
Installing an SMTP server is the surest solution to your WordPress email issues. Although the installation process is a bit long, we will simplify it so beginners can follow along with the guide.
But if you do not want to go through the stress of troubleshooting the error, you can request our one-time service so our experts fix it for you.
We will show you how to set this up in five simple steps:
- Install WP Mail SMTP plugin
- Select an Email Service Provider
- Create a Google Web Application
- Add your App API Keys to the SMTP plugin
- Sending Test Email
Step One – Install WP Mail SMTP Plugin
The WP Mail SMTP plugin overrides the default PHP mail function WordPress uses and replaces it with a secure SMTP server. This will resolve any email not sending issues you have on your WordPress site.
To get started using WP Mail SMTP, you need to install and activate the plugin on your WordPress site. For this, login to your WordPress admin dashboard and then go to Plugins >> Add New.
On the Search box, enter “wp smtp” and then click on the Install Now button next to the WP Mail SMTP plugin. Activate the plugin after the installation completes.
The plugin has a setup wizard that makes the configuration much faster. For this, go to WP Mail SMTP >> Settings to open the plugins’ settings page.
On the “General” tab, click on the Launch Setup Wizard button to begin the configuration process.
You will be taken to the setup page. To begin the setup, click on Let’s Get Started.
Step Two – Select an Email Service Provider
The WP Mail SMTP plugin makes use of SMTP for sending emails. So to fix your WordPress not sending email issues, you will need to integrate a third-party SMTP service provider.
There are different options available on the free version of this plugin. We will use Google SMTP for this guide.
To clarify, if you have a google account or a Workspace account, you can use this option as well. On a free Google account, you can send up to 500 emails per day. Which should be enough for most small-scale business owners.
Premium Google cloud users, on the other hand, can send up to 2000 emails per day with the paid plan.
On the setup wizard page, choose the Email Service provider you intend to use. We used “Google / Gmail” in this guide. Select the Google / Gmail option and then click on Save and Continue.
On the next page, you will need to provide your Google client ID and API keys to authenticate the service.
This requires creating a web application on the google developer dashboard. It is a straightforward process and does not require writing any code.
Leave this browser tab open and proceed to the next step.
Step Three – Create a Web App
To create your web app, you need to have a developer account. But if you don’t have this, go to the Google Cloud Console website and login/signup using your google account.
Upon login, you will be taken to the cloud console dashboard. You need to create a project before you can have access to the web application tools.
Click the dropdown next to “Google Cloud Platform” on the navigation menu. A popup window will appear showing all the projects on your account. To create a new project, click on New Project.
On the “New Project” page, enter a name for your project (this can be any name). After that, click the Create button.
Enable Gmail API
Now you need to enable the Gmail API on the new project you just created. For this, go to API & Services >> Library.
On the “API Library” page, click the Email category on the left to filter the APIs, and then click on Gmail API.
After that, click the Enable button to activate this API on your project.
Next, click the Create Credentials button to generate your API keys.
Under “Credential Type”, ensure the Gmail API option is selected from the “Select an API” dropdown. After that, choose the “User data” option as the data type you wish to monitor. Click the Next button to continue.
You will need to set up the OAuth Consent Screen. Here, you can use the default name for the App name. Next, enter your email address in the “User support email” and “Developer contact information” text boxes respectively.
After that, click the Save and Continue button.
There is an optional configuration for “Scope”. But we will skip it here because it does not affect the web app we are creating. So scroll down and click on Save and Continue.
Creating Google Web Application – WordPress not Sending Emails
Now, you will need to create your application. For this, select Web application from the “Application Type” dropdown. After that, you can give the application a name. The default name works well as the app will be available to you alone.
Next, scroll to the “Authorized redirect URIs” section and click on the + ADD URI button. After that, paste the URL below into the text box.
Side note: You can get the URL from the WP Mail SMTP setup page.
Finally, click on the Create button to complete your web app setup. Your app credentials are now ready for use.
However, there are additional settings we need to complete before the app can be useful. For now, click on Done, and you will be taken to your cloud dashboard.
You need to make your app public before you can use the API keys on the WP SMTP plugin. For this, go to API & Services >> OAuth consent screen from your cloud console dashboard.
On the “Publishing Status” section, click on the Publish App button to make your app available publicly. Also, set the User Type to “External” if not done by default.
Now, to access the app credentials, click on the Credentials sidebar menu. In the “OAuth 2.0 Client IDs” section, you will see details about the app you just created.
To get the Client ID and Secret, click on the Pencil icon next to the Web application you created. You will see the details you need on the next page. Copy both values as you will need them in the next step.
Step Four – Add App API Credentials to the SMTP Plugin
Now, head back to the WP Mail SMTP setup page and paste the Client ID and Client Secret to their corresponding text boxes. After that, click on the Connect Google button to link both services.
You need to authenticate your Google account before proceeding. We recommend using the same account you used on Google Cloud Console.
In some cases, the verification process may fail due to security checks on your Google account. To bypass this, simply click on the “Go to wpmailsmtp.com (unsafe)” link.
You will be redirected to your WordPress dashboard with a confirmation message that both services have been linked together. Click the Ok button to continue.
Now scroll down and fill in the “From Name” and “From Email” values. WordPress will use this email address to send future emails to and from your site. After filling both values, click on the Save and Continue button.
On the next page, you can choose the features you want to enable on the plugin. The defaults work just fine to fix your WordPress email not sending issue. So click on the Save and Continue button to continue the setup.
You can also skip the step to opt in for the WP Mail newsletter. Finally, the plugin will check your configurations. Once the checks are complete, you can confirm your settings by sending a test email.
Step Five – Sending Test Email
To send the email, click on the Send a Test Email button.
Next, enter the email address you want to send the test email to. Finally, click on the Send email button.
You should receive a success notification from the plugin.
Now check your inbox to confirm that the test email has been sent. You should receive an email from WordPress.
If you received the test email, it means your WordPress website is now using secure SMTP to send emails. This means your WordPress not sending email issue is fixed. And if your emails were going to spam, using the Gmail SMTP server should have fixed that too!
Diagnosing Contact Form Plugin Issues
WordPress email issues are often the result of problems with contact form plugins. In this section, we show you how to troubleshoot email issues in common contact form plugins.
Fix Contact Form 7 Not Sending Emails
Solution: Check and Correct Email Headers
Access Form Settings: In your WordPress dashboard, go to Contact >> Contact Forms and select the form you’re troubleshooting.
Modify the Email Header: Click on the ‘Mail’ tab. Here, focus on the ‘From’ field. This should ideally be an email address that ends with your site’s domain. For example, if your site is “example.com”, use an email like “firstname.lastname@example.org”.
Avoid Sender’s Email: Don’t use the sender’s email directly in the ‘From’ field, as this can lead to issues with email servers rejecting the mail. Instead, use the sender’s email in the ‘Reply-To’ field.
Test the Form: After making changes, save them and test the form to ensure that emails are sent correctly.
Fix Gravity Forms Not Sending Emails
Solution 1: Examine Notification Settings
Ensure the email settings in ‘Notifications’ are correctly set up for each form. This includes the recipient’s email, sender’s email, and email content.
Solution 2: Use The Built-In Logging System
Enable Logging: Navigate to Forms >> Settings >> Logging in Gravity Forms and turn on logging.
Perform a Test Submission: Submit a test entry on the form that’s causing issues.
Review the Logs: Access the logs through Forms >> System Status >> Logging. Look for any errors related to email sending. This can give you insights into what’s going wrong, such as issues with form notifications or server settings.
Fix WPForms Not Sending Emails
Solution1: Use the WPForms Email Test Tool
Access Email Test Tool: If you have configured WPForms with WP Mail SMTP, you can access the test tool by going to the WP Mail SMTP Settings >> Email Test.
Run the Test: Enter a valid email address and send a test email. This tool will help you determine if your WordPress site is able to send emails.
Analyze the Results: If the test email fails, the issue might be with your WordPress hosting environment. If it succeeds, but form notifications still aren’t working, the problem is likely within the form’s notification settings.
Solution 2: Verify Notification Settings
In WPForms, check the ‘Notifications’ settings for each form. Make sure the ‘Send To Email Address’ and ‘From Email’ are correctly configured.
Fix Formidable Forms Not Sending Emails
Solution: Customize Email Notification Settings
Open Form Settings: Go to Formidable >> Forms, and select your form.
Adjust Notification Settings: Navigate to Settings > Form Actions and click on the ‘Email Notification’ action.
Specify Sender Information: Ensure that the ‘From’ address is a valid email tied to your domain. Use placeholders like [admin_email] for dynamic sender email.
Check Email Content: Verify that the email content doesn’t contain any scripting or HTML that might be flagged as spam.
Fix Ninja Forms Not Sending Emails
Solution: Verify Form Settings
Access Form Settings: Go to Ninja Forms >> Dashboard and click on the form you’re having issues with.
Check the Settings: Switch to the “Emails & Actions” tab. Here, ensure that the email confirmation and email notification options are correctly configured. Email confirmations should go to the sender, so set the “To” field accordingly. Email notifications should go to the site admin, so input your admin email in that field.
Prevent WordPress Emails from Being Marked as Spam
Sometimes emails from WordPress end up in the spam folder. This means your WordPress emails are working but are being read as spoof emails by email service providers. So here are some tips to improve your site’s email delivery.
Whitelist your Email Address to fix WordPress not Sending Emails
If you are using the default PHP mailer on your WordPress site, then your emails may be seen as spam which can affect the Click Through Rate on your email newsletter, and other emails.
You can encourage your users to whitelist your site’s email address so they can see your mail in their inboxes. To do this, users need to add your email as a contact, which tells mail servers to trust your site’s email.
Authenticate your Emails
The easiest way to set up email authentication is to use an SMTP provider to handle your emails in WordPress. Fortunately, you can also use the SMTP service to fix email not sending issues in WordPress.
SMTP is short for Simple Mail Transfer Protocol and is the industry standard for sending emails.
SMTP uses proper authentication to send emails. This means your emails will have high deliverability. Below we will show you how to configure SMTP using the WP SMTP plugin
Avoid Sending Mass Marketing Emails from Your WordPress Email Server
Use an email service for sending mass emails. Sending mass marketing emails from your WP mail server could harm your email reputation, causing your emails to be marked as spam.
Select Professional Email Addresses
Choosing a professional and recognizable email address for outbound emails reassures email service providers of your legitimacy and avoids the common spam-related pitfalls.
Implement Email Authentication Methods
If you are not using an SMTP server, taking the time to set up email authentication methods can significantly boost the trustworthiness of your emails. Methods like Sender Policy Framework (SPF), DomainKeys Identified Mail (DKIM), and Domain-based Message Authentication, Reporting, and Conformance (DMARC) confirm your domain’s identity and prove that the email is being sent from a trusted source.
By following these key steps to prevent WordPress emails from spam issues, you ensure a higher delivery rate and improved communication with your users. Emails that consistently reach the inbox can lead to better user engagement and an enhanced reputation for your WordPress site.
FAQs for WordPress Not Sending Emails Issue
Why is my WordPress website not sending emails?
There could be multiple reasons for this issue. Some common reasons include incorrect SMTP settings, problems with the PHP mail function, conflicts with plugins, or issues with the hosting server.
How can I check if my WordPress website is sending emails or not?
You can use a plugin such as WP Mail SMTP to test if your WordPress website is sending emails or not. This plugin allows you to send a test email to an email address of your choice.
What are the SMTP settings, and where can I find them?
SMTP settings are the parameters used to configure the email client for sending emails. You can find these settings in the email service provider’s documentation or the email account’s settings.
What should I do if I have incorrect SMTP settings?
You can correct the SMTP settings by going to the WordPress dashboard and clicking on the “Settings” option. Then, go to the “Email” tab and enter the correct SMTP settings.
How can I fix the PHP mail function not working issue?
You can fix this issue by installing the WP Mail SMTP plugin and configuring it to use a third-party SMTP service.
What should I do if there are conflicts with plugins?
You can troubleshoot plugin conflicts by deactivating all plugins and then reactivating them one by one to find the problematic plugin.
How can I fix issues with the hosting server?
You can contact your hosting provider and ask them to check if the email service is functioning correctly. They may also be able to provide guidance on how to fix the issue.
Can I use a plugin to fix WordPress not sending emails issue?
Yes, you can use plugins like WP Mail SMTP, Easy WP SMTP, or Post SMTP to fix this issue.
What can I do if none of the solutions work for me?
If none of the solutions work, you can contact a WordPress developer or hire a support service like FixRunner to help you fix the issue.
WordPress not sending emails can negatively impact your site. And if you are a store owner, the effects can be worse. This is because users will not receive an invoice that sometimes contains the link to download digital products.
This guide has shown you how to resolve the WordPress not sending email issue by using an SMTP service provider to route your WordPress emails. We also shared some tips to prevent WordPress emails from going to the spam folder.
However, if you are still unable to send and receive emails on your WordPress site after following the steps in this guide, then you can reach out to our team of experts for further guidance.