Email address change confirmation link leads to error

Hi,
I’ve wanted to change my primary email on my account on my forum.
I got the confirmation link:

When I open the link and click on the “Confirm” button it leads to an error 500:

Oops
The software powering this discussion forum encountered an unexpected problem. We apologize for the inconvenience.

Detailed information about the error was logged, and an automatic notification generated. We’ll take a look at it.

No further action is necessary. However, if the error condition persists, you can provide additional detail, including steps to reproduce the error, by posting a discussion topic in the site’s feedback category.

Logs say:
NoMethodError (undefined method `update!' for nil:NilClass) lib/email_updater.rb:119:in `update_user_email' lib/email_updater.rb:105:in `block in confirm' lib/email_updater.rb:80:in `confirm' app/cont

Any idea?

3 Likes

I’ve found the same problem, though I don’t see the error in the logs that you describe.

I am an admin on the site, so I will try a test account to see if that somehow differs.

1 Like

In my case it looks like the ‘Confirm New Email’ template hasn’t been updated somewhere along the way. The URL that is sent on the broken site is:

%{base_url}/u/authorize-email/%{email_token}

On a new install the URL in the template is:

%{base_url}/u/confirm-new-email/%{email_token}

The text has been changed on the (broken) site, so I guess it’s a custom template that’s not been updated somewhere in the last 7 years :slight_smile:

3 Likes

I’ve had a problem which arose after my primary email had been changed - and was working for some time. Although I still use the original email as when I set up my forum, the email address I changed to receive post/topic notices worked for a few months and suddenly … nothing. Looking at my profile I saw my Admin email in my preferences. I changed the email back to the one for receiving notifications and I get a “Verification email has been sent”… only it never arrives. I’ve tried this repeatedly and no email is ever sent even though I get the notification that the email has been sent. I’ve even tried to set it as a secondary email address and that isn’t working either.
The email address that is not working through Discourse is a valid address and I am receiving emails from 3 other Discourse forums. When I check my account preferences I see address is shown as “unconfirmed - resend confirmation email”. It’s currently showing the last two attempts I made - after I cancelled about a dozen previous attempts.

1 Like

I’m having trouble following what you wrote. So you are an admin, and you self-changed your primary email address?

1 Like

I am the Admin. I kept my primary email - the one I used to activate the forum. But in trying to set a secondary email, that fails. Additionally, if I try to change my email in my user preferences, that fails as well. The Dashboard still shows my Admin sign-in email as expected. I am receiving my monthly receipts at the secondary email.

For some time I was receiving notices at the secondary email, but they suddenly stopped. When I checked my preferences it now shows as “not verified”. No matter how many times I resend the verification email, I never receive it.

1 Like