Sharing a quick fix for a WordPress admin email issue I’ve recently had to deal with.
You’re trying to change the admin email on your self-hosted WordPress site. So from your WordPress dashboard, you go to Settings >> General and change the email address there.
After changing the email address to the new value you want, WordPress displays this message:
This address is used for admin purposes. If you change this we will send you an email at your new address to confirm it. The new address will not become active until confirmed.
But the problem is… You don’t get any confirmation email from WordPress at all. Maybe the confirmation email is failing because of a WordPress bug. Or maybe it’s a configuration issue on your end – I doubt this because I have spent quite a bit of time making sure the WordPress email configuration is right. I have even tested this with and without SMTP. But again, I can’t be too sure because I know that this has worked for me some times in the past.
The good news is, we don’t really have to bother about the cause. There’s a pretty quick workaround for this. No need to go messing with your database or phpMyAdmin either.
To fix this issue, follow these steps:
- Go to Settings >> General on your WordPress admin (if you’re not already there). Notice that the url of the page is something like this: http://yourdomain.com/wp-admin/options-general.php
- Change the url from options-general.php to just options.php so that you now have: http://yourdomain.com/wp-admin/options.php
- When you visit the new address, you will notice a ton of new options that are not shown on the options-general.php page.
- Find the admin_email field.
- Change the email there to the new email you want. Save it and you’re done. No need for any confirmation emails.
Hope this helps someone.
Have you experienced a similar problem? Were you able to trace the root cause or did my above workaround help you? Please share your thoughts in the comments section below. I’m actually curious to know why the admin confirmation emails are not getting sent. But after I found a quick workaround, I never bothered to investigate it further.