When WordPress admin email verification stuck messages keep appearing, the usual cause is a pending admin email change that WordPress cannot confirm by email. Start in Settings > General, check the current address, and fix mail delivery before editing the database.
Quick checks before changing anything
Go to Settings > General and look at Administration Email Address. WordPress documents this field on the official Settings General Screen.
Check three things:
- The address is spelled correctly.
- The mailbox exists and can receive mail.
- The confirmation message is not in spam, quarantine, or a security filter.
If the screen says an email change is pending, WordPress is waiting for the new address to confirm the change. Saving the same broken address again usually does not solve the problem.
Safest fix order
1. If you can still access wp-admin
Open Settings > General, enter a working administration email address, and save changes.
Then check the inbox for the confirmation message. Use an address on a mailbox you control directly, not a group alias or old employee mailbox, until the change is confirmed.
If the confirmation email never arrives, do not keep repeating the same save action. Fix outgoing mail first.
2. Fix WordPress mail delivery
A stuck admin email change often looks like a settings problem, but the real failure may be email delivery. WordPress sends the confirmation link through its normal mail function, documented in the developer reference for wp_mail().
Host-level mail restrictions or SMTP plugin errors can stop the message from being sent. SPF, DKIM, and DMARC problems usually affect whether receiving mail systems trust, filter, quarantine, or reject the message after it leaves your site. Treat those as deliverability checks, not proof that WordPress failed to save the setting.
Check your hosting panel for:
- Email delivery logs
- SMTP or transactional email settings
- Domain email authentication records
- Blocked or bounced messages
If your site uses an SMTP plugin, send its built-in test email if available. Use the same recipient address you want to set as the admin email.
3. Cancel the pending change and try again
If WordPress shows a pending change to the wrong address, change the field back to the current working admin email and save. Then enter the corrected new address and save again.
This gives WordPress a clean confirmation request instead of leaving you chasing an old email that may never arrive.
If wp-admin is locked or the old mailbox is gone
Use this only when the normal settings screen cannot finish the change. Take a database backup first from your hosting panel or phpMyAdmin.
In phpMyAdmin, open your WordPress database and find the options table. The table is often named wp_options, but your install may use a different prefix.
Find the row where option_name is:
admin_email
Edit option_value to the working email address.
Then look for:
new_admin_email
If that row exists and contains the stuck pending address, delete that row or clear it only after confirming your backup is available. This changes site state by removing the pending confirmation request, so WordPress stops waiting on the old email.
Optional SSH method with WP-CLI
If you have SSH access and WP-CLI is installed, this is cleaner than editing rows manually. WP-CLI’s official command reference is available at developer.wordpress.org/cli/commands.
Run these from the WordPress install directory:
wp option update admin_email [email protected]
wp option delete new_admin_email
Replace [email protected] with the mailbox you control.
Do not use this method if you are unsure which WordPress install the SSH session is pointed at, especially on hosting accounts with staging and production copies.
How to confirm it worked
Return to Settings > General and confirm the Administration Email Address shows the correct address with no pending-change notice.
Then trigger a normal WordPress email, such as a password reset for an administrator account, and confirm it arrives. If the admin email changed but WordPress emails still do not arrive, the verification problem is fixed but the site still has an email delivery issue.
Rollback and escalation notes
If the wrong address was saved in phpMyAdmin, restore the database backup or edit admin_email back to the previous value.
Contact hosting support when emails do not appear in server mail logs, the host blocks outbound mail, or phpMyAdmin does not show the expected options table. Contact your email provider when the host shows the message was sent but the mailbox rejects, quarantines, or silently filters it.