Can an administrator change a user's email address?

Summary

When I try to change an existing user’s email address from the System Console, it doesn’t give an error, but also doesn’t save the changed address

Steps to reproduce

Mattermost Team Edition
Mattermost Version: 5.18.0
Database Schema Version: 5.18.0
Database: postgres

  1. Open System Console
  2. Click User Management / Users
  3. Click on the person whose email I want to change
  4. Email is editable, so I edit it and click Save
  5. Return to list of Users–user’s email is not changed

Expected behavior

We had hired a few contractors and given them access to an “External” team using their gmail accounts. Now that we hired them as full employees, we want to change their email to use our company’s domain so they can have access to the internal team and all relevant channels, but neither they nor we can seem to change their email addresses.

Observed behavior

They’ve had to create new profiles with new handles, which is confusing to people who’ve been communicating with them already.

Did the user receive an email to verify their new email address, and did they do so?

Hi, @renaissanceGeek

On top of the question asked by Amy, may I know if the users that you were trying to change the email addresses were created locally via email & password or rather from external directories such as AD / LDAP or SSO login such as Okta / OneLogin?

I have attempted to reproduce this on Mattermost 5.19.1 and was able to confirm that the local user emails are editable through System Console > User Management > Users > Update Email.

I can also confirm that the email is changed properly from the Users table in the database.

Can you please run the following command on the database so we can get a better picture of a sample user that is affected by this issue?

SELECT Id, Username, AuthData, AuthService, Email, EmailVerified FROM Users WHERE Email = "<email>";

I’ve just encountered this problem, or at least observed the same behaviour, where the email address remains as it was after altering it and clicking save in the System Console.

In my case a user had registered with an invalid email address (TLD was missing). In the end I manually altered the email address directly in the database, after which they were able to log in.

I suspect the fact that the address was invalid somehow prevented me from changing it via the System Console… Hopefully this helps to track down what appears to be a bug.

Possibly related (?): Cannot change email address with patch user API