초보자로서 오늘 모든 이메일이 사실상 shutdown되고, 주간 다이제스트가 레거시 포럼 마이그레이션 이후에 시작되면서 sidekiq 큐에 30만 건 이상의 이메일이 쌓이게 되어 사용자가 이메일로 등록, 비밀번호 복구, 로그인을 할 수 없었던 경험을 했습니다. 즉, 이메일을 통해 로그인, 등록, 비밀번호 복구 등을 시도한 사용자는 어떤 이메일도 받지 못했고, 완전히 hosed(망가진 상태)가 된 것입니다.
이 문제는 우리가 GMAIL을 메일 릴레이로 사용하고 있는데, (무료) GMAIL이 이러한 SMTP 릴레이에 한도를 설정하고 있기 때문에 발생했으며, 결국 GMAIL이 당일 우리를 차단해 버린 것입니다.
이 기능이 향후 추가되기를 요청드립니다. (다른 해결 방법이 없다면요.)
제안 사항
관리자가 다이제스트를 위해 다른 이메일 릴레이를 설정할 수 있도록 app.yml 변수 세트를 하나 더 추가해 주세요.
설정 과정에서 대화 상자에 다이제스트를 위한 다른 SMTP 서버를 설정하시겠습니까?라는 질문을 추가하고, 사용자가 원한다면 기존 SMTP 릴레이를 그대로 사용하도록 할 수 있습니다.
근거
많은 다이제스트 활동이 발생하는 대형 포럼의 경우, 비밀번호 복구, 로그인, 등록과 같은 핵심 작업에 사용되는 SMTP 릴레이와 별도로 다이제스트 이메일을 다른 SMTP 릴레이를 통해 전송할 수 있는 옵션이 있으면 좋겠습니다.
현재로서는 모든 다이제스트를 꺼 놓았습니다. 최근 X일 동안 확인된 것으로 제한할 수 있는 방법을 확인했습니다. 오늘 확인했을 때 기본값은 365일이었습니다. 어떤 이유에서인지 마이그레이션된 서버에서 30만 건 이상의 메시지가 큐에 쌓였습니다.
토론
큰 문제는 아니지만, digest(다이제스트) 이메일과 mission critical(핵심) 이메일을 분리하는 것이 좋다고 생각합니다. mission critical emails의 queuing priority(큐 우선순위)가 더 높더라도, 과도한 다이제스트로 인해 SMTP 릴레이가 차단되면 mission critical 이메일도 함께 차단되기 때문입니다.
또한, 일부 포럼에서는 SMTP 메일이 작동하지 않는 이유를 모르고 비슷한 상황을 겪고 있을 수 있습니다. 실제로는 위에서 언급한 이유로 차단된 경우일 수 있습니다.
신중한 검토 부탁드립니다.
TangentialDuck