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.


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

Thanks a lot for help