Change staff email address from console


(Arpit Jalan) #1

We recently introduced a security change: When a staff user changes their email address, for enhanced security they must confirm both new email address AND old email address.

However, this creates a problem when a staff member loses access to their old email address and wants to update their email address.

In this guide we’ll change the email address of a user (not necessarily staff) via console without the need to access old email address. Let’s get started!

Access Console

Connect to your Droplet via SSH, or use Putty on Windows:

ssh root@192.168.1.1

Replace 192.168.1.1 with the IP address of your Droplet.

Switch to your Discourse folder:

cd /var/discourse

Enter the container:

./launcher enter app
# or
./launcher ssh app

Access Rails Console:

rails c

Change Email Address

Run these commands from console:

u = User.find_by_username("YOUR_USERNAME")
u.email = "YOUR_NEW_EMAIL_ADDRESS"
u.email_tokens.create(email: u.email)
u.activate
u.save!

That’s it, your email address is updated, and you should be able to login with your new email.


User email address at account creation (through oAuth) incorrect
Changing admin email // no access to original email account?
Email address change - click link 2nd time
What is included in the backup under Admin?