현재 2.6.0.beta5 버전을 사용 중입니다(오늘 beta6를 확인했는데, 정말 기뻐요!). 그런데 digest, user_posted, user_replied 등 대부분의 이메일은 정상적으로 작동하는 반면, notify_old_email_add, confirm_new_email, forgot_password 이메일만 작동하지 않습니다.
'작동하지 않는다’는 것은 해당 이메일들이 apparently 수신처에 도달하지 않는다는 뜻입니다. (Discourse 이메일 레지스트리에는 발송된 것으로 표시되긴 합니다.)
예외는 이메일 변경 관련 이메일인데, 이 경우 이메일은 수신자에게 도달하지만 사용자가 링크를 클릭하면 "죄송합니다. 이 확인 링크는 더 이상 유효하지 않습니다"라는 메시지가 표시됩니다.
이 문제에 대해 어떤 단서나 해결 방법을 아시는 분 계신가요? 특정 이메일만 제외하고 모든 메일이 수신처에 도달한다는 점이 매우 이상하게 느껴집니다. 이로 인해 사용자가 계정을 인증하거나 이메일을 변경하는 것이 어렵거나 불가능해져 계정 잠금(lockout) 위험이 있습니다.
감사합니다!
P.S.: 조사 과정에서 알게 된 내용으로, 새로 가입한 사용자의 경우(이메일 확인)에는 정상적으로 작동하지만 기존 사용자에게는 작동하지 않습니다. 기존 사용자는 확인/비밀번호 변경 이메일을 받지 못합니다.
여기저기 파고들다 보니 특정 상황에서 이런 일이 일어난다는 걸 알게 되었고, 이게 "의도된 동작"인지, 실수인지, 아니면 그냥 제가 멍청한 건지 모르겠습니다.
무료 가입을 허용한 채로 포럼을 만들었다가 나중에 설정을 "사용자 승인 필요"로 변경한 경우, 이전 가입자(당시에 승인이 필요하지 않았던 사용자)가 비밀번호 등을 변경하려고 하면 계정이 “승인 필요” 상태이기 때문에 변경이 불가능합니다. 또한 비밀번호 변경 및 확인 이메일도 전송되지 않습니다(Discourse 이메일 로그에는 전송된 것으로 표시되지만요).
이로 인해 해당 사용자는 “승인되지 않은” 상태이기 때문에 다른 기기에 로그인하는 것도 막힙니다.
이 문제의 우회 방법은 사용자가 다른 기기에 로그인하도록 하여 관리자/모더레이터에게 "승인 대기"로 표시되게 하는 것입니다. 그러면 기술적으로는 정상적으로 작동합니다.
프로세스 부분과 이것이 의도된 것인지 여부와 상관없이(누군가 설명해 주신다면 제정신인지 아닌지라도 알 수 있어서 감사하겠습니다 :P), 여기에 인간적인 요소가 있습니다. 커뮤니티에서 X 정도의 시간을 보낸 사용자는 이런 상황을 보면 당황하거나 "트리거"가 됩니다. 왜냐하면… 이미 계정이 있으므로 승인이 필요하다는 사실을 모릅니다. 많은 사용자가 이것이 버그나 다른 문제라고 생각해 승인 과정을 "취소"하고, 그래서 관리자/모더레이터가 승인 요청을 볼 수 없게 됩니다.