The Complete Guide to Fix WordPress Not Sending Password Reset Issue

The Complete Guide to Fix WordPress Not Sending Password Reset IssueThe WordPress not sending password reset issue is terrifying for less-trained users. They instantly associate it with a potential security breach. Fortunately, it’s not the case in most instances. Sometimes, the password reset email lands in the spam folder or gets in the inbox just a little bit later.

You are NOT the victim of a cybercriminal attack if you don’t manage to reset the password. All you need is cool blood, patience, and basic site management skills to fix it.

In addition to coolness and calm, this guide is everything you need to resolve the WordPress not sending password reset issue. Carefully follow all the steps from this guide and the password reset will go smoothly and you will get full control of your website. You will learn how to reset the password but also how to avoid this problem for your sites.

How to Reset a Password – the Standard Way

Some users might find a short explanation of the password reset procedure trivial, but a recap is always welcome. You have to visit the login page, which should look similar to these pages:

https://domain.com/wp-admin

https://domain.com/login

Click on the “Lost your password?” link and you will be directed to a page asking for your WordPress username or email address.

Lost password wordpress

Type in either the username or email address, and click on Get New Password.

Username email wordpress password reset

Check your Inbox and open the password reset email. Click on the link within the email and you get to a page asking to type the new password. From now on, you have to use the password you have just configured.

The big problem is when you don’t get the email in your inbox. Pay attention, as it might land in your spam folder. This means that your site sends the proper email, but it gets to the wrong destination. Sometimes, you don’t get the password reset email as fast as you expect. Patience is key! If the password reset email doesn’t land in your spam folder or inbox, then it’s time to act!

Ways to Fix WordPress Not Sending Password Reset

Did you double-check the spam folder? Did you wait for the email password reset for half an hour? Well, you probably have a password reset issue. There are five methods to reset your password. There is no better or worse method, it’s totally up to your preference. No matter the modality selected, you need to edit the site files. Create a site backup copy to make sure that you don’t risk the integrity of your site.

Fix WordPress Not Sending Password Reset Through PhpMyAdmin

Head to your hosting account to get access to the PhpMyAdmin application. Visit the cPanel dashboard and look for PhpMyAdmin. Usually, it’s under the Database section, but it depends on the hosting interface.

Php myadmin host wordpress

Click on the PhpMyAdmin icon and it will launch the app. Next, select the website database and look at the site’s tables. Search for the wp_users table and click on Browse.

Wp users php myadmin - wordpress not sending password reset

Find the username you want to reset the password and click on Edit. You will get access to the user information fields—go to the user_pass before making sure that you select the MD5 hashing algorithm.

Wpusers userpass

Replace the current password with the new one. Click on the Go button, and you reset the password. It’s that simple, yes! Go to the website login page and check the new credentials.

Useful Tips:

  • You may have multiple websites and databases on the same WordPress hosting platform. Check the wp-config.php file from each database to identify the website with the password reset issue.
  • Some websites don’t have a table called wp_users. Don’t despair, there is nothing wrong! For security purposes, the tables have slightly modified names like wp1010_users. These are the tables storing the information of the users and you should apply the same algorithm to change the password.

Fix WordPress Not Sending Password Reset using an SQL Command

Are you confident in your SQL skills? You can reset the password by running a simple SQL command. Open up the PhpMyAdmin dashboard and click on SQL. Write the following command to change the password:

UPDATE `wp_users` SET `user_pass` = MD5( ‘new_password’ ) WHERE `wp_users`.`user_login` = “admin_username”;

sql command

Replace “new_password” with your new password and “admin_username” with the admin name.

Fix WordPress Not Sending Password Reset via FTP

Open up your favorite FTP client and connect to your website. Check the first emails sent by the hosting platform if you don’t know the credentials. You may ask customer support for help if you deleted those emails. Supposing that you connected to your site via an FTP client, you should do the following:

  • Navigate to the root folder of your site (usually called public_html).
  • Go to the wp-content folder within the public_html folder and double-click on it.
  • Find the folder of the active theme of your site and identify the functions.php file.
  • Edit the functions.php file – you can do it on your favorite text editor or within the FTP client. Before editing, it’s a good idea to create a copy of the file.
  • Open the file and after the opening <?php and insert the following line of code:
    wp_set_password( ‘password’, 1 ).

The first parameter-‘password’-corresponds to the new password, so replace it with your new password. The second parameter-“1”-is the user ID, so replace it with the user ID to reset the password. 1 is the ID of the very first site admin.

Save your editing and upload the file back to your root site.

  • Go back to the login page and enter the new credentials. Don’t worry if you can’t access the admin dashboard because the page reloads. It means that your code works, and you successfully reset the password.
  • Go back to the functions.php file and delete the line of code you previously inserted. Unless you delete that line of code, the password will reset every time you try to log in.

Useful tips:

  • You are right to be bored by so many posts highlighting the role of a strong password. Despite so many people suggesting the use of a strong password, many people ignore this aspect. Don’t make this mistake; use a strong password—a letter, a number, and a special character do wonders in this respect.
  • Do you have problems identifying the user ID to reset the password? Unsure which user needs to have the password reset? Just head to the wp_users and check the ID column—it shows the ID of all users.

Fix WordPress Not Sending Password Reset via WP-CLI

Bear in mind that some hosting platforms don’t allow you to edit your site via WP-CLI. The inferior pricing plans of some hosting platforms don’t offer this service, either. Ask customer support if your current pricing plan includes the ability to connect to the site files through WP-CLI.

WP-CLI intimidates less trained users and is not frequently used by them to access site files. Check WP-CLI documentation to learn how to get the most from this powerful tool. WP-CLI.org is another resource showing you how to use WP-CLI to manage your site. Connect to your site via an SSH terminal and go to the root directory. Check the first emails you get from the hosting platform—these contain the credentials needed to SSH connect to your site.

Use this command – $ wp user list – to get a list of all users of the site. Identify the user whose password you want to reset and keep in mind the user ID. Next, type in the following command:

$ wp user update id --user_pass=password

Replace “id” with the user ID and “password” with a more secure password.

Fix WordPress Not Sending Password Reset Using the Emergency Password Reset Script

Another solution to fix the WordPress not sending password reset issue is to use a script. Don’t worry, you don’t need coding skills, it’s a matter of copy and paste! It works only for admin accounts and you have to know the admin username. DO NOT use this method if the admin email address is compromised.

The WordPress development team created a script to use in emergency situations. Check the Emergency Password Script page and study the instructions. Create a new file called emergency.php in the root directory of your site.

EmergencyPhp

Copy the script from the Emergency Password Script page and paste it into the emergency.php file. Go to your browser and type in the following address, replacing “yoursite” with your domain name:

http://yoursite.com/emergency.php

Type in the administrator username and the new password. Click on the “Update Options” button and check the email associated with the site admin. The password is reset even though there is no email received about the update and, therefore, no email notification. Finally, delete the emergency.php file; don’t skip this step because this file is a huge vulnerability. Practically, you open a door for anyone to take control of your site. Imagine that a hacker might visit http://yoursite.com/emergency.php and your admin username is easy to guess. You lost admin privileges in no time!

Causes of the WordPress Not Sending Password Reset Issue

Any of the above methods is enough to fix the password reset issue, but it only resolves the effect. To avoid any future problems, you should identify the cause. If you don’t find the culprit, you will continue to face problems when resetting the passwords.

Two big causes may be the source of the password reset issue. First, some web host misconfigurations may conflict with the WordPress email function wp_mail(), and second, the server’s bad reputation drives the emails into the spam folder of the receivers. Using a third-party mailer is the most convenient way to fix both problems. Bear in mind that as an admin of a WordPress site, you have to send multiple types of emails. Newsletters, new user notifications, and transactional emails are common for a WordPress website admin. In this context, finding a way to send emails securely is of paramount importance.

How Does WordPress Send Emails

You don’t need special coding skills to understand how WordPress sends emails by default. It’s not necessary to understand the inner mechanism, but it’s effective to have a broad idea. wp_mail() is the WordPress function responsible for sending emails. Check the WordPress Code Reference to find out more about this function. In essence, the plugins or the WordPress install call for this function for sending an email. Next, the host gets a request from wp_mail and sends the email to the recipient. The receiving platform evaluates the email and decides whether or not to send it to the email address mentioned by the sender. Finally, the email client filters the message.

wp_mail function doesn’t require authentication and may trigger a false alarm to hosting platforms. As a result, some emails fall into the spam folders or are blocked by security mechanisms. This severely impacts email deliverability and people might lose trust in your business. Imagine that your freshly launched product delights a bunch of people. They created accounts to buy your product, but the confirmation mail landed in spam. Most likely, the potential buyers will be more suspicious of your business.

That’s the main reason why most webmasters prefer using an SMTP alternative for sending emails, including password reset emails. This solution improves email deliverability and simplifies the process of sending emails.

WP Mail SMTP Plugin

WP-mail-smtp

This is one of the few plugins that surpass the milestone of 2+ million active installs in the WordPress plugin repository. Even though it’s a plugin that requires intermediate to advanced skills, people rated it 4.8 out of 5 stars, which is exceptional. Under these circumstances, it doesn’t make sense to question the plugin’s quality. WP Mail SMTP plugin is all you need for sending emails without worries. It also ensures that the WordPress not sending password reset issue won’t ever happen again!

Install and activate WP Mail SMTP the same way you would any WordPress plugins. Once you activate the plugin, choose a mailer to replace the built-in WordPress email service. The free version of the plugins supports Sendingblue, Mailgun, SendGrid, Gmail or SMTP. Amazon SES SMTP, Zoho Pro, and Microsoft SMTP require the paid version of the plugin. You have solid mailer alternatives even in the free version. From now on, your mailer of choice will send your emails. The plugin has an effective email log system, so you have full control over each and every email sent.

Post SMTP Mailer/Email Log, SMTP Mailer, and Easy WP SMTP are three important competitors to WP Mail SMTP. No matter which plugin you prefer, they work pretty similarly and fix your mailing problems.

Wrapping Up

I hope that you are more confident that the WordPress not sending password reset issue isn’t the end of the world. You have multiple options to fix the issue and you don’t need special skills to do it. Besides, an SMTP plugin considerably reduces the chances of running into trouble with your emails. Luckily, we suggested four efficient plugins that do miracles in this respect. Do you have any experience with any of these plugins? Please consider sharing with us your thoughts, we are really curious to know how these worked for you.