보조 이메일 주소의 목적은 무엇인가요?

첫 번째 이메일이 계속 반송되는 경우, 시스템에서 보조 이메일 주소를 시도해 주셨으면 합니다.

이것이 가능한가요? 불가능하다면, Discourse에서 보조 이메일 주소의 목적은 무엇인가요?

사용자가 보조 이메일 주소에서 Discourse 게시물에 이메일로 답장을 보내면, 메시지가 "알 수 없는 사용자"라는 이유로 거부되는 대신 게시됩니다.

포럼이 주제(토픽)에 이메일을 사용하지 않을 때, 부가 이메일은 완전히 쓸모없어지고 OP가 요청한 용도로는 물론 부가 로그인 목적으로도 사용할 수 없다는 뜻인가요?

그렇다면 사용자에게는 사실상 노이즈에 불과합니다(예, Microsoft, Google 등 SSO 옵션을 사용하는 경우 부가 이메일은 존재합니다).

이 기능에 대한 최초의 논의는 여기에서 시작되었습니다: Two emails for one user. 이후 논의는 여기에서 계속되었습니다: Additional email address per user account support.

이 기능이 주로 구현된 이유는 사용자가 여러 이메일 계정을 보유하고 있을 때, 이메일을 통해 Discourse에 게시물을 작성하는 경우를 처리하기 위해서였습니다.

주 이메일 주소로 전송된 이메일이 반송(bounce)될 때 Discourse가 보조 이메일 주소로 이메일을 보내도록 하는 기능은 현재 존재하지 않습니다. 이러한 기능이 특정 상황에서 유용할 수 있다는 점은 이해할 수 있습니다.

기술적으로, Discourse가 이메일 주소를 기반으로 사용자를 찾을 때 User.find_by_email 메서드가 호출되는 모든 시점에서 보조 이메일을 사용하여 사용자를 찾을 수 있습니다.

사용자는 보조 이메일 주소를 사용하여 Discourse에 로그인할 수 있습니다.

외부 인증 제공자를 사용하여 Discourse에 로그인할 때, 인증 제공자가 제공하는 이메일 주소와 보조 이메일 주소가 일치하면 해당 사용자를 찾을 수 있습니다.

흥미롭게도, auth overrides email 사이트 설정이 활성화되어 있고 사이트의 외부 인증 제공자가 사용자의 보조 이메일을 공급하는 경우, 보조 이메일이 주 이메일이 되고 원래의 주 이메일은 삭제됩니다. 이 경우 과거에는 로그인 오류가 발생했기 때문에, 이 동작은 의도적으로 설계된 것으로 보입니다. 이 동작이 발생하는 위치를 파악하는 데 너무 오랜 시간을 보냈습니다: discourse/app/models/user.rb at main · discourse/discourse · GitHub. (사용자가 저장될 때旧的 주 이메일이 삭제됩니다.)

이것이 중요한 이유는, 메인 이메일이 작동하지 않을 경우 관리자나 모더레이터가 보조 이메일을 통해 계정 소유자에게 수동으로 연락을 시도할 수 있기 때문입니다.

그렇지 않으면 유효한 이메일 주소가 없는 계정은 일반적으로 폐기됩니다. 그러나 일부 이메일은 해당 계정의 결제가 연체된 경우와 같이 일시적으로 전달 불가로 반환될 수 있습니다.

확실히 유연성을 조금 더 추가해 줍니다. 사용자가 Discourse 계정을 만들 때 사용했던 이메일 주체에 대한 접근 권한을 잃어버린 경우는 처리하기가 까다로운 경우가 많습니다.

네, 계정이 있다고 주장하지만 주요 이메일에 접근할 수 없거나 비밀번호를 기억하지 못하는 사용자를 인증하는 것은 어려울 수 있습니다. 그래서 저는 다른 서버를 사용하는 이메일을 이 계정의 보조 이메일로 등록해 두었습니다. 혹시 주요 이메일에 문제가 생겨도 다른 이메일은 작동할 수 있기를 바랍니다.