Our site was created from an import of a preexisting system. Some of the user account definitions had historical email addresses which the users can no longer access (on the old system they just kept logging in with a username and password - the email was only used for a password reset).
So now that on Discourse the password change mechanism depends on email the users aren’t able to retrieve their forgot password email, they also can’t confirm the password change email that is triggered when I go in as admin and change their email address.
Similarly, if an active user changes their email, and mistypes it you end up in the same situation.
Here is the fix:
- Check that the email that user wants to use isn’t already taken.
- Go to their account, admin
- Deactivate the account.
- Change the email.
- Reactivate the account
- Presto magic, the new addy is now there in the user profile.