Change WordPress admin email without confirmation

When we’re building a new WordPress powered website one of the very first things we do in the setup process is create the first admin user. The email address associated becomes the main admin for the site. You can see this under Settings > General:

This address is used for notifications of WordPress updates and in our case, default Gravity Forms notifications. This is great during development, but what about once the site has gone live and you hand it over to the customer?

TL;DR: Update in the database

The WordPress way

WordPress implemented this change late last year in the 4.9 release and was done for security reasons. Here’s what was said during the announcement:

A few account security enhancements have gone into WordPress 4.9. The intention is to make it more difficult for an attacker to take over a user account or a site by changing the email address associated with the user or the site, and also to reduce the chance of a mistaken or erroneous change causing you to get locked out.

If you update the email from the WordPress admin area, the change is not immediately made. A series of emails are sent out and a confirmation link must be clicked:

Once confirmed, the new email address is set, and the previous email is sent a notification.

For most users, this is the preferred way to update the admin email account.

Updating without going through the confirmation process

We like to set the admin email upon launch to the site owner. Launch day is usually a pretty hectic affair and adding another request to the owner’s list is not always easy or a good idea. So here’s the simple way to do it without having them confirm:

phpMyAdmin to the rescue

Like many things, the WordPress MySQL database is a good place to go for changes. The WordPress admin email can be updated from the database as well. Here’s how:

  1. Log into the database. phpMyAdmin is a good choice.
  2. Locate the wp_options table.
  3. Near the top locate the admin_email option
  4. Edit the option_value field with the new email. This can be done either inline, or by editing depending on your version of phpMyAdmin
  5. Save your work if it wasn’t auto-saved

That’s it!


This is one of the more annoying updates to go into WordPress in many years. (Been working with WordPress since 2006)

It’s a nice idea, but WordPress’s email php program is not terribly reliable, especially on some host platforms.

This ends up creating a lot of work for no solid reason.


    Yes, it does feel like a brute force approach to security, much like a pat-down at the airport. I’ve never seen an attacker attempt to take over a site by changing the site admin this way. That said, it’s certainly possible to do and I have seen customers change the admin email by mistake. Until a better solution comes along, I’m okay with WordPress trying out security changes.

    I no longer bother the customer with an email volley on this. I’m in the database anyway and it’s a quick change.


You don’t need to use a database editor for this. Browse to /wp-admin/options.php, search for the admin_email field, and update it there. This bypasses the confirmation check.

(Just confirmed this on WP 4.9.2.)


    Thanks for the tip Rick. I don’t normally recommend editing WP core files, but if it works for you that’s great!


    Thanks Rick I just did this because for over a month I have not been about to receive a confirmation email when trying to change it! Lets hope I will actually receive the emails since i bypassed the confirmation!


    Worked for me nut all my emails going to the spam folder. how can I fix that issue?



      Nothing in this post will cause all of your emails to go to spam. Must be a completely different issue.

    Does not work. When I save in options.php, get error message:

    Not Acceptable!
    An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.


Genius! Thanks. Been toying with that for some time.


This fixed a long row of dominoes. First there is a plugin that updated, messed up things. Needed to make a backup but wanted it to go to the new email. Could not get the confirmation. Your help fixed that, now I can go back down the chain of problems without waiting hours or never. Thanks!


FWIW, I recently had a typo when changing the admin email address. Since the address I entered wasn’t a real address (I typed suport@domain instead of support@domain), the email was never delivered and I couldn’t confirm the change. I still was able to get emails sent to the old admin email though. If I had made the mistake in the database, it may have taken a while to figure out why emails aren’t being delivered. At first I thought this was a bit of a pain, but it’s actually a useful feature.


Leave a Reply

Your email address will not be published. Required fields are marked *

See if Cinch is right for you.

Ask us anything. Seriously. Like, what is the air speed velocity of an unladen swallow?

Start a chat right now

Or go ahead and Sign up now