How to Fix WordPress Not Sending Email

WordPress not sending emails is a common problem that website owners encounter. Whether it's for user registration, password resets, or contact form submissions, email deliverability is crucial for the smooth operation of any website.

We will explore the reasons behind WordPress email issues, provide detailed troubleshooting steps, and offer effective solutions to ensure your emails are reliably sent and received. By the end of this post, you'll have a clear understanding of how to fix WordPress not sending emails, and you’ll be equipped with the knowledge to prevent this problem from recurring in the future...to note, just because you're equipped with the knowledge, doesn't mean that you "know enough to be dangerous" and should do this on your own if you're not technical. Similar to replacing the transmission in your car, some things are better left to the experts.

Without further ado, let's dive in.

Why Is WordPress Not Sending Emails?

Before diving into the solutions, it’s important to understand why WordPress might fail to send emails. Several factors could be contributing to this issue:

  1. Hosting Server Limitations: Most shared hosting providers limit the number of emails that can be sent per hour to prevent spam. If your site exceeds this limit, emails may not be sent. If you're hosting with Bluehost, Dreamhost, or Diane's basement server, we recommend you switch to WPEngine or Kinsta...like yesterday.
  2. Misconfigured Email Settings: Incorrect email settings, such as the "From" address, can cause your emails to be flagged as spam or not sent at all.
  3. PHP Mail Function: WordPress uses the PHP mail function to send emails, which isn't always reliable. Some hosting providers may disable or restrict this function, leading to email deliverability issues.
  4. Spam Filters: Email providers often have strict spam filters. If your WordPress emails don’t meet certain criteria, they may be filtered out and never reach the recipient’s inbox. In this day and age of spam and email authentication, we recommend setting up DKIM, SPF, and TXT records to authenticate your domain.
  5. Plugin Conflicts: Plugins can sometimes interfere with the email-sending process, especially if they are outdated or poorly coded.

"Email authentication allows a receiving server to verify an email from your company and block emails from an imposter" - Federal Trade Commission (FTC)

How to Troubleshoot WordPress Not Sending Emails

Now that you know the possible causes, let's move on to the troubleshooting steps. This section will guide you through diagnosing and fixing the problem.

Step 1: Check Your Email Settings

The first step is to check your WordPress email settings. Go to Settings > General in your WordPress dashboard and verify that the email address in the Administration Email Address field is correct. This email address is where notifications are sent, and it should be valid and active.

Step 2: Test Your WordPress Email Sending Capability

To determine whether WordPress is able to send emails, you can use a plugin like Check Email. This simple plugin allows you to send a test email from your WordPress site to see if it's working properly.

  1. Install and activate the Check Email plugin from the WordPress plugin repository.
  2. Go to Tools > Check Email in your WordPress dashboard.
  3. Enter an email address that you have access to, and click the Send Test Email button.

If you receive the test email, guess what? WordPress is sending emails correctly! If not, there is an underlying issue that needs to be addressed.

So let's address them now!

Step 3: Configure WordPress to Use SMTP

One of the most effective ways to fix email-sending issues in WordPress is to configure your site to send emails via SMTP (Simple Mail Transfer Protocol) instead of the default PHP mail function. SMTP is more reliable and less likely to be blocked by spam filters.

You can use plugins like WP Mail SMTP to set up SMTP on your WordPress site. Here’s how to do it:

  1. Install and activate WP Mail SMTP: Go to Plugins > Add New and search for "WP Mail SMTP". Install and activate the plugin.
  2. Configure the plugin: After activation, go to WP Mail SMTP > Settings. You'll need to provide the following information:
    • From Email: This should match the email address you want to send emails from.
    • From Name: The name that will appear in the sender field of the email.
    • Mailer: Select "Other SMTP" and enter your SMTP server details. You can get this information from your email provider or web host.
    • SMTP Host: The server address of your SMTP provider.
    • Encryption: Choose SSL or TLS based on your provider's recommendation.
    • SMTP Port: Usually 465 for SSL or 587 for TLS.
    • SMTP Username and Password: The login credentials for your SMTP server.
  3. Save Settings and Send a Test Email: After configuring the settings, save them and use the plugin to send a test email to ensure everything is working.

Step 4: Check for Plugin Conflicts

Plugin conflicts can often cause WordPress to stop sending emails. It's tedious, especially if you have 47 plugins, but it can help identify the underlying issue. To check for conflicts:

  1. Deactivate all plugins: Temporarily deactivate all your plugins and see if WordPress can send emails.
  2. Reactivate plugins one by one: Reactivate each plugin one by one, sending a test email after each activation. This will help you identify the plugin causing the issue.
  3. Update or replace conflicting plugins: If a plugin is causing the problem, try updating it to the latest version. If the issue persists, consider finding an alternative plugin.

Step 5: Check Your Hosting Provider's Email Policy

If none of the above steps work, your hosting provider may be the culprit. Some hosting providers block the PHP mail function or have strict email policies that could prevent WordPress from sending emails.

Contact your hosting provider's support team and ask if they have any restrictions on sending emails from WordPress. If they do, they may be able to whitelist your domain or offer an alternative solution.

Let me repeat one of my earlier comments: "If you're hosting with Bluehost, Dreamhost, or Diane's basement server, we recommend you switch to WPEngine or Kinsta...like yesterday."

Advanced Solutions for Persistent Email Issues

If you're still facing issues after following the troubleshooting steps, consider these advanced solutions.

Solution 1: Use a Third-Party Email Service

Third-party email services like SendGrid, Mailgun, or Amazon SES offer reliable email delivery and are less likely to be marked as spam. These services integrate with WordPress and can be configured using plugins like WP Mail SMTP.

  1. Sign up for a third-party email service: Any of the 3 options above will do.
  2. Install and configure the service’s WordPress plugin: Most of these services offer dedicated plugins for WordPress. Install the plugin and follow the setup instructions provided by the service.
  3. Test your emails: Send a test email to ensure that the integration is working properly.

Solution 2: Modify Your DNS Records

As discussed and quoted earlier, proper DNS configuration is crucial for email deliverability. To improve your email’s chances of reaching the inbox, you can add the following DNS records:

  • SPF (Sender Policy Framework): This record specifies which mail servers are allowed to send emails on behalf of your domain. It helps prevent email spoofing.
  • DKIM (DomainKeys Identified Mail): DKIM adds a digital signature to your emails, which helps email providers verify that the email was not altered in transit.
  • DMARC (Domain-based Message Authentication, Reporting & Conformance): DMARC helps protect your domain from unauthorized use, ensuring that emails are correctly authenticated against SPF and DKIM.

To add these records, you'll need to access your domain's DNS settings, usually found in your hosting provider's control panel.

  1. SPF Record: Add a TXT record with the following value:

v=spf1 include:your-email-service.com ~all


* Replace your-email-service.com with the domain of your email service provider.

  1. DKIM Record: Your email service provider should provide you with a DKIM record. Add this as a TXT record in your DNS settings.
  2. DMARC Record: Add a TXT record with the following value:

v=DMARC1; p=none; rua=mailto:your-email@example.com


* Replace your-email@example.com with your actual email address to receive reports on email authentication.

Solution 3: Monitor Email Deliverability

Once you've implemented the above solutions, it’s important to monitor your email deliverability. Tools like Mail-tester or MXToolbox can help you test your emails and identify any issues that could affect deliverability.

Regular monitoring ensures that you can catch and fix any issues before they become a problem.

Preventing WordPress Email Issues in the Future

Prevention is better than cure. Here are some best practices to avoid email-sending issues in the future:

  1. Use a Reliable Hosting Provider: Choose a hosting provider with a good reputation for email deliverability. We recommend WPEngine or Kinsta.
  2. Regularly Update WordPress and Plugins: Keeping your WordPress core, themes, and plugins updated reduces the risk of conflicts and vulnerabilities that could affect email delivery. A WordPress maintenance and support plan is a must if you don't have the time, respect your time, or don't know what you're doing.
  3. Avoid Using Shared Email Accounts: Use a dedicated email account for sending WordPress emails, and avoid using generic accounts that could be flagged as spam.
  4. Monitor Your Email Sending Limits: Be aware of your hosting provider's email sending limits and ensure your site stays within those limits.
  5. Implement Proper Authentication: Ensure your domain's SPF, DKIM, and DMARC records are correctly configured to improve email deliverability and prevent spoofing.

Conclusion

Email deliverability is a critical aspect of managing a WordPress site. When WordPress is not sending emails, it can disrupt your site's functionality and frustrate your users. By following the troubleshooting steps and solutions outlined in this guide, you can effectively resolve email-sending issues and ensure your emails reach their intended recipients.

The key to preventing future email issues lies in proactive maintenance and regular monitoring. Implementing the best practices mentioned above, you can minimize the chances of encountering email deliverability problems again.

If the issue persists despite your best efforts, don’t hesitate to reach out to your web development team or the reliable team at WhatArmy to get things sorted. Email issues can be complex, but with the right approach, they are usually solvable.

Finally, consider investing in professional tools and services that offer enhanced email delivery, detailed analytics, and ongoing support. While this might involve a cost, the reliability and peace of mind they provide can be well worth it, especially for businesses that rely heavily on email communication and/or automation.

Final Final! Test your forms regularly.

Time to call in the ‘A’ Team?

Still have a couple lingering questions? Talk to someone on our team and they will answer your questions and point you in the right direction