WordPress not sending password reset email

Are you struggling with WordPress not sending password reset emails? This can be a frustrating issue, especially when users or even admins can’t reset their passwords to regain access to the site. Password reset emails are essential for maintaining a secure and user-friendly website, but unfortunately, WordPress sometimes fails to send them. 

In this guide, we’ll show you how to resolve the “WordPress not sending password reset email” issue in just four easy steps. The solution involves using the Post SMTP plugin, which ensures that your password reset emails are sent reliably.

We’ll also cover the common reasons why WordPress fails to send these emails so you can troubleshoot the problem more effectively.

Ready? Let’s dive in!

Reasons Why WordPress Not Sending Password Reset Email?

There are several reasons why WordPress might not be delivering password reset emails. Let’s explore the two most common causes of this issue and explain why the emails are either delayed or completely blocked.

#1: WordPress Default Mail Function

By default, WordPress uses the wp_mail() function to send emails. This function is based on PHP’s mail function, which is not designed to deliver large volumes of emails and lacks email authentication methods. While it can work for sending simple emails, the default PHP mail system has a few major downsides:

  • Lack of Authentication: Emails sent through the PHP mail function often lack proper email domain authentication methods like SPF, DKIM, and DMARC. Without these authentication mechanisms, your emails are more likely to be flagged as spam.
  • Spam Filters: Since the wp_mail() function doesn’t authenticate emails, they often end up in spam folders. This makes it easy for password reset emails to get lost without you even realizing it.
  • Blocked by Hosting Providers: Many web hosting providers block outgoing emails sent using the default PHP mail function. This is because it increases the risk of spamming or email abuse, and thus, hosting providers restrict it to maintain their server’s integrity.

The default wp_mail() function is one of the main reasons behind the “WordPress Not Sending Emails.”

#2: Web Hosting Server Issue

The second common cause of the password reset email not received problem is related to your web host. If your hosting server is misconfigured or has strict limitations on outgoing emails, it may be blocking your WordPress password reset emails altogether.

Many shared hosting providers restrict email sending limits, which can prevent password reset emails from being delivered.

Here are some specific server-related problems that may be affecting your site:

  • Email Sending Limits: Some web hosts limit the number of emails your WordPress site can send per hour or per day. If your site exceeds these limits, subsequent emails, including password resets, may not go through.
  • Firewalls or Security Settings: In some cases, server firewalls or security settings may block outgoing email traffic. This can happen if your web host blocks certain ports required for email delivery, such as port 587 or port 465 for SMTP (Simple Mail Transfer Protocol).
  • Misconfigured DNS Records: Another reason for not getting password reset emails could be misconfigured DNS records like SPF, DKIM, and DMARC. These records tell email servers that your site is authorized to send emails. If these are not set up properly, password reset emails may fail.

GOOD NEWS! In the following section, we will fix these issues by routing all the emails through an SMTP Server using the Post SMTP plugin.

3 Easy Steps to Fix WordPress Not Sending Password Reset Email

Now that you understand why WordPress might fail to send password reset emails, let’s move on to the solution. Below, we outline the four easy steps to fix this issue using the Post SMTP plugin.

The Post SMTP Plugin, used by over 400,000 users, is highly reliable for troubleshooting and fixing WordPress email delivery failures.

Step #1: Install and Activate Post SMTP Plugin

The first step in resolving the WordPress password reset email error is to install the Post SMTP plugin. This plugin replaces the default WordPress mail function with a more robust SMTP (Simple Mail Transfer Protocol) service, which ensures your password reset emails are delivered successfully.

  • First, log into your WordPress dashboard.
  • Navigate to Plugins >> Add New Plugin in the sidebar.
  • In the search bar, type Post SMTP and press enter.
  • Locate the plugin in the search results and click Install Now.
  • Once the installation is complete, click Activate.
Post SMTP plugin interface showing general settings

The Post SMTP plugin is now installed and ready for configuration. This plugin allows you to connect your WordPress site to an external SMTP service, which offers much better email deliverability than WordPress’s default email system.

Step #2: Configure SMTP Mailer of Your Choice

After installing the plugin, it’s time to configure the SMTP mailer that will handle your WordPress emails. This step is critical for resolving the WordPress reset password email not working issue.

The Post SMTP plugin supports various email service providers, including Gmail SMTP Server, SendGrid, Mailgun, Microsoft 365 SMTP, Amazon SES, and more.

Here’s how to configure an SMTP mailer:

  • Go to Post SMTP >> Dashboard.
  • Click on “Start the Wizard.”
Configuration settings for the SMTP mailer
  • Select the SMTP Service provider of your choice and hit “Continue.”

For this article, we are choosing the “Brevo” SMTP server.

Selection screen for choosing the SMTP service provider
  • On the subsequent screen, you’ll be asked to enter your From Email Address and From Name. Make sure to use an email address associated with your domain (e.g., info@yourdomain.com) to avoid deliverability issues.
  • Next, enter the API key provided by your SMTP Service provider.
Field to enter From Email Address and From Name
  • After configuring the SMTP mailer, click Save and Continue.

Finally, send a test email to verify the SMTP configuration.

  • Enter a valid email address in the “Recipient Email Address” field and hit the “Send Test Email” button.
Screen displaying an option to enter a valid email address

Upon successful email delivery, you’ll receive the green “Congratulations 🙂” message, as shown in the screenshot above.

Step #3: Resend WordPress Password Reset Emails

Now that you’ve set up the Post SMTP plugin with an SMTP mailer, you can resend any password reset emails that previously failed. The plugin includes a built-in Email Log feature, which shows you a list of all the emails that your site has attempted to send, along with their delivery status.

To resend failed emails, follow these steps:

  • In your WordPress dashboard, go to Post SMTP >> Email Log.
  • Find any emails that failed to send (these will be marked with a red warning icon).
  • Click the Resend button next to the failed password reset emails.
Instruction to click the Resend button on the email screen

The emails will be resent using the new SMTP configuration.

Step #4: Force “From Email Address” for Sending

If the “password reset emails not working in WordPress” issue persists, it could be due to inconsistencies in the “From Email” address. Some email services or hosting providers may block emails that are sent from a different email address than the one specified in your domain’s DNS records.

To avoid this problem, it’s best to force a consistent From Email address across all outgoing emails.

Here’s how to do it:

  • Navigate to Post SMTP >> Settings in the WordPress dashboard.
  • Click on the Message tab.
  • In the Email Address field, enter the email address you want to use as the default From Email address (e.g., admin@yourdomain.com). Make sure this email matches your domain to avoid authentication issues.
User interface showing the option to click on the Message tab
  • Check the box that says Prevent plugins and themes from changing this to ensure no other plugins or themes override this setting.
  • Click Save Changes.

From now on, all outgoing emails, including password reset emails, will be sent from a single email address that you have entered above. This helps reduce the chances of email service providers blocking or marking your emails as spam.

Don’t Forget to Check the Spam Score for Your Email Domain

Even after successfully setting up the Post SMTP plugin, it’s important to monitor your domain’s spam score regularly. This score determines how likely your emails will be flagged as spam based on factors like content, domain reputation, and authentication settings.

You can use our Spam Score Checker tool to check your spam score and get a detailed report on your email to identify potential issues that could affect your email deliverability.

Here’s what you should be looking for:

  • SPF Record: Ensure that your domain has an SPF (Sender Policy Framework) record set up. This record tells receiving email servers which mail servers are allowed to send emails on behalf of your domain.
  • DKIM Signature: DKIM (DomainKeys Identified Mail) adds a digital signature to your outgoing emails, verifying that they haven’t been altered in transit. Ensure that your DKIM record is configured correctly.
  • DMARC Policy: DMARC (Domain-based Message Authentication, Reporting & Conformance) is another layer of email security that helps protect your domain from email spoofing. It works by aligning your SPF and DKIM records and providing instructions to receiving mail servers on how to handle unauthenticated emails.

By maintaining a healthy spam score and configuring these authentication methods, you will significantly improve the chances of your password reset emails being delivered successfully.

Conclusion

In this guide, we’ve covered the most effective steps to fix the WordPress not sending password reset email issue. From understanding the root causes like WordPress’s default mail function limitations and web hosting server restrictions to installing and configuring the Post SMTP plugin, these steps should help you resolve email delivery problems.

By following these four easy steps, you can ensure that your WordPress password reset emails reach the inbox reliably:

  1. Install and activate the Post SMTP plugin to replace WordPress’s default email sending system.
  2. Configure the SMTP mailer of your choice, using a reliable email provider like Gmail, SendGrid, or Mailgun.
  3. Resend failed password reset emails through the plugin’s email log, ensuring they reach your users.
  4. Force a consistent “From Email Address” to avoid deliverability issues related to mismatched or unauthenticated addresses.

On top of these steps, regularly checking the spam score of your domain and ensuring proper SPF, DKIM, and DMARC setup will keep your email deliverability strong. Lastly, if you still need any help, feel free to contact us. Our team of WordPress experts is always ready to help you with all email-related issues.

Frequently Asked Questions

Why do I not get a password reset email?

You may not receive a password reset email due to issues with your WordPress site’s default mail function, or your web host may block outgoing emails. Use an SMTP plugin like Post SMTP to ensure reliable email delivery.

Why is my WordPress login email not sending?

This often happens due to the wp_mail() function being blocked or flagged as spam. Configuring an SMTP plugin will solve this issue.

How do I know if the password reset email was sent successfully?

You can check the Email Log in the Post SMTP plugin to see whether the email was successfully sent or if it failed.

Why do I not receive password reset emails in a developer environment?

The WordPress default email functionality doesn’t work in a local development environment. Install the Post SMTP plugin to configure an external SMTP service to handle outgoing emails.