[PB-26206] As a logged in user I should be able to change my email address

Q1. What is the problem that you are trying to solve?
There is currently no way to change your email address. I know I can create a new account with a different email, transfer ownership of your passwords to this account, but it would be great if I could change my email address.

Q2 - Who is impacted?
People that entered the wrong email during registration, or need to change email address.

Q3 - Why is it important and/or urgent?
This seems like an edge case, but it is still pretty annoying when you are in this situation.

Q4 - What is your proposed solution? (optional)
In the user settings allow people to follow some sort of mini setup where they can enter a new email id, validate it by clicking a link in their mailbox and then change their email address and keys. In order to do that we need a way to rotate keys first as per As a logged in user I should be able to change my private/public key

ref: As a logged in user I should be able to change my email address · Issue #113 · passbolt/passbolt_api · GitHub

Q5. Community support
People can vote for this idea to show traction:

  • :ok_woman: Must have: this is critical for me to have this
  • :raising_hand_woman: Should have: this is important for me to have this
  • :tipping_hand_woman: Could have: this could be nice to have
  • :no_good_woman: Won’t have: we should not schedule this (explain why)
0 voters
1 Like

We just had a case where we’d like to change the email.

Nearly two years later and still no ability to update email address. Damn.

Hi @et478539 unfortunately it is not trivial, even though is sounds simple.

Is this still true?

Due to a change in the organizational domain, I need to migrate all users. It seems I can do this with a SQL statement.

UPDATE users
SET username = REPLACE(username, '@olddomain.com', '@newdomain.org')
WHERE username LIKE '%@olddomain.com%';

It appears to be working, and I can successfully log in and still access my data. Am I overlooking something here?

Best
txt

Since the users table can contain multiple records with the same email address (for example, old or deleted users), it is important to precisely specify which record should be updated.

The deleted column indicates whether a user is removed (1) or currently active (0).
By filtering with deleted = 0, we ensure that only the active user is modified, preventing accidental changes to historical or deleted records.

The correct script would be:

UPDATE users
SET username = 'new-email@email.com'
WHERE username = 'old-email@email.com'
AND deleted = 0;

This guarantees that the update is accurate and does not impact other data in the database.

After making the change, please log out of your account and reset your password using the new email address. Once completed, log in again using the updated email.