The discussion revolves around an issue with email verification after changing a user’s email address in Discourse, resulting in an “Access Denied” error. spot reports that while login links and password reset links work, the confirmation link for a new email address fails with an access error. jahan_gagan explains that for non-staff users, admins can change the email directly, but for staff users, both old and new email verifications are required—making the process problematic if the old email is inaccessible. spot confirms the user is not an admin or moderator. JammyDodger suggests trying the link in an incognito browser, which spot confirms resolves the issue, likely due to cached cookies or improper logout. pfaffman agrees this is a likely cause.
If the user is a staff member (admin or moderator): for security, Discourse requires verification from both the old and new email addresses. If the user cannot access their old email, the confirmation flow breaks and causes permission issues such as the one you described.
If the user is not a staff member: as an admin, you should be able to change their email directly from the user’s preference page, and only the new address should be sent a confirmation.
Try below:
Temporarily remove admin and moderator privileges from their account.
Change their email using the same preference page method as above.
After the email address change is fully verified and functional, restore their staff privileges.