이메일 주소 변경 확인 링크가 오류로 연결됩니다

안녕하세요,
포럼 내 계정에서 기본 이메일 주소를 변경하려고 합니다.
확인 링크를 받았는데:

링크를 열어 “확인” 버튼을 클릭하면 500 오류가 발생합니다:

죄송합니다
이 토론 포럼을 구동하는 소프트웨어에서 예상치 못한 문제가 발생했습니다. 불편을 드려 죄송합니다.

오류에 대한 상세 정보는 로그에 기록되었으며 자동 알림이 생성되었습니다. 확인하겠습니다.

추가 조치는 필요하지 않습니다. 다만 오류가 지속되는 경우, 오류 재현 단계를 포함한 추가 정보를 사이트의 피드백 카테고리에 토론 주제를 게시하여 제공해 주실 수 있습니다.

로그에는 다음과 같이 표시됩니다:
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

어떤 이유일까요?

저도 같은 문제를 발견했지만, 말씀하신 에러가 로그에는 보이지 않습니다.

저는 사이트 관리자 권한이 있으므로, 테스트 계정을 만들어서 혹시 차이가 있는지 확인해 보겠습니다.

제 경우, ‘새 이메일 확인’ 템플릿이 어딘가에서 업데이트되지 않은 것 같습니다. 깨진 사이트에서 전송되는 URL은 다음과 같습니다:

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

새 설치 환경에서는 템플릿의 URL이 다음과 같습니다:

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

(깨진) 사이트에서 텍스트가 변경되었으므로, 지난 7년 사이에 어딘가에서 업데이트되지 않은 사용자 정의 템플릿인 것 같습니다 :slight_smile:

주 이메일이 변경된 후 문제가 발생했는데, 처음에는 몇 달 동안 정상적으로 작동했습니다. 포럼을 설정할 때 사용했던 원래 이메일을 여전히 사용 중이지만, 게시글/토픽 알림을 받기 위해 변경했던 이메일 주소는 몇 달간 잘 작동하다가 갑자기 … 아무것도 오지 않았습니다. 프로필을 살펴보니 설정에 관리자 이메일이 표시되어 있었습니다. 알림을 받기 위한 이메일로 다시 변경했는데 "인증 이메일이 전송되었습니다"라는 메시지가 뜨지만, 실제로는 절대 도착하지 않습니다. 여러 번 시도해 보았지만, 이메일이 전송되었다는 알림은 뜨는데 실제로는 이메일이 발송되지 않습니다. 보조 이메일 주소로 설정해 보기도 했는데, 이것도 작동하지 않습니다.
Discourse를 통해 작동하지 않는 이메일 주소는 유효한 주소이며, 다른 3개의 Discourse 포럼에서는 이메일을 정상적으로 받고 있습니다. 계정 설정을 확인해 보면 주소가 "확인되지 않음 - 확인 이메일 다시 보내기"로 표시되어 있습니다. 현재는 이전에 약 12번의 시도를 취소한 후 마지막으로 시도한 두 번의 기록이 표시되어 있습니다.

작성하신 내용을 이해하기가 어렵습니다. 즉, 관리자인데 본인이 직접 기본 이메일 주소를 변경한 건가요?

저는 관리자입니다. 포럼 활성화에 사용한 기본 이메일 주소를 유지하고 있습니다. 그런데 보조 이메일 주소를 설정하려고 하면 실패합니다. 또한 사용자 설정에서 이메일 주소를 변경하려고 해도 마찬가지로 실패합니다. 대시보드에는 예상대로 제 관리자 로그인 이메일 주소가 표시됩니다. 월간 영수증은 보조 이메일 주소로 수신되고 있습니다.

일부러 보조 이메일 주소로 공지사항을 받아왔는데, 갑자기 중단되었습니다. 설정을 확인해 보니 이제 "미인증"으로 표시되어 있습니다. 인증 이메일을 여러 번 다시 보내도 절대 수신되지 않습니다.

Hi @codinghorror,
저는 Ver 2.8 베타 버전을 사용 중이며, 확인 이메일 링크에서 동일한 문제를 겪고 있습니다. 해당 링크를 클릭하면 url8800…로 시작하는 리디렉션 링크가 포함된 오류 페이지로 이동합니다.

하지만 메시지 본문에 표시되는 링크를 복사해서 브라우저에 붙여넣으면 정상적으로 작동합니다.

어떤 해결책이 있을까요?

이메일 복사본 텍스트를 사용자 지정했나요? 그렇다면 이메일 복사본을 기본값으로 초기화해 보세요.

문제가 해결된 것 같습니다