자체 호스팅 Discourse 인스턴스의 이메일 설정에 대한 도움/자문이 필요합니다

수일 동안 검색해 보았지만 이 문제에 대한 답을 찾을 수 없었습니다. 아마도 이메일 구성에 대해 근본적으로 오해하고 있는 것 같습니다(이전에 직접 다뤄본 적 없거든요).

저는 웹사이트를 운영하는 도메인(example.com)을 하나 가지고 있습니다. 서브도메인(forum.example.com)을 설정하여 Discourse가 실행 중인 DigitalOcean 드롭렛으로 연결했습니다(DNS A 레코드). 서브도메인은 정상 작동하고, Discourse 설치도 성공했으며, 서브도메인에 접속하면 관리자 등록 화면이 표시됩니다.
또한 Mailjet의 무료 플랜을 설정하고, example.com과 forum.example.com 모두를 적절한 DNS 레코드로 등록한 뒤 SPF/DKIM으로 검증했습니다. Mailjet 계정 페이지에서는 모든 항목이 정상(초록색)으로 표시되고 있습니다.

문제는 등록 이메일이 아예 도착하지 않는다는 것입니다. discourse-doctor를 실행해 보니 SMTP 서버와의 연결이 성공적이고 서버가 메일을 접수했다는 것을 확인했지만, 여전히 이메일은 오지 않습니다. Discourse 설치에서는 발신 주소로 "noreply@forum.example.com"을 사용하고 있습니다.

저를 혼란스럽게 하는 부분은 noreply@forum.example.com이라는 주소가 실제로 존재하지 않는다는 점입니다. 사실 "@example.com"으로 끝나는 이메일 주소는 하나도 존재하지 않습니다. 이 사이트는 지역 사회/스포츠 클럽을 위한 것이며, 이메일을 통한 상호작용이 거의 없기(대부분 소셜 미디어를 사용하므로) 이메일 호스팅에 비용을 들이고 싶지 않았기 때문입니다.
그러면 Mailjet이 해당 이메일 주소를 자동으로 생성해 주는 것일까요? 아니면 제 문제가 단순히 이메일 호스팅 서비스(Google Workspace/gSuite 등)가 실행되지 않고 있기 때문일까요?
이메일 호스팅이 문제가 아니라면, 왜 이 문제가 해결되지 않는지 혹시 아이디어가 있을까요?

이 문제로 골머리를 앓고 있는데 답을 찾지 못해 도움을 간절히 구합니다. :slight_smile:

도커 컨테이너 외부부터 시작해서, 그 시스템에서 이메일을 아예 보낼 수 있나요? 외부 사이트에서 오는 이메일을 받을 수 있나요? (필요한가요?)

메일 로그에는 무엇이 기록되어 있나요?

사용자 생성과 비밀번호 설정에는 최소한 발신 이메일이 필요합니다. 관리자나 연락처로 도달할 수 있는 주소만 있다면 수신은 작동하지 않아도 괜찮을지 확실하지 않습니다.

이메일 관리는 좀 까다로운 문제입니다. 30년 넘게 이 일을 해왔는데도 거의 매일 새로운 것을 배우고 있습니다.

디스코urs 테스트베드 서버의 이메일 작동을 설정하는 데整整 2일이 걸렸지만, 프로덕션 서버는 3~4시간 만에 작동하게 했습니다.

현재 모든 수신 메일은 gmail.com 주소로 라우팅됩니다. 도메인 이메일 설정도, 도메인 이메일 호스팅도 없습니다.

제가 파악한 바로는, 시스템이 Discourse의 알림/가입 메일을 포럼 서브도메인 아래 “noreply” 이름으로 보내는 것만 필요로 합니다.

이메일 생태계가 어떻게 작동하는지 이해하려고 하고 있습니다… Mailjet이 noreply 메일을 보낼 수 있으려면, GSuite와 같은 이메일 호스팅 서비스에서 noreply 도메인 이메일 주소를 만들어야 하는 건가요?

discourse-doctor 스크립트는 SMTP 연결이 모두 정상 작동한다고 알려주므로, Droplet이 Mailjet에 성공적으로 연결되고 있지만, 그 이후에는 아무 일도 일어나지 않습니다.
또한 아무리 찾아봐도 Mailjet에서 SMTP 서비스 로그를 찾을 수가 없습니다.

아니요, 그렇게 할 필요는 없습니다. 여기 Mailjet에 대한 가이드가 있습니다: Howto use Mailjet as a free SMTP service for Discourse. 이 모든 단계를 완료하셨나요?

네, 바로 그 가이드를 따라 세팅했습니다 :slight_smile:
모든 DNS 레코드가 정상 작동하는 것으로 확인되며, Discourse-Doctor도 SMTP 서버와의 연결이 성공적이라고 확인해 줍니다.
혹시 이 문제가 Discourse 세팅이 아니라 Mailjet 쪽 문제일까요? 계정이 정지 상태로 표시된 것 같습니다 :frowning:

또한 별도의 이메일 호스트를 설정할 필요가 없다는 점을 확인해 주셔서 감사합니다!

중지되거나 블랙리스트에 오른 이메일 주소와 사이트는 이메일 관리자의 끊임없는 악몽입니다

SMTP 서버를 통해 이메일을 보내고 있나요? (자체 호스팅이 아닌 것으로 가정합니다.)

아, 정말 짜증나네요! Mailjet이 실제로는 정상 작동한다는 걸 확인했습니다… 오늘 사이트를 설정하면서 직접 테스트해 봤거든요. 그래서 계정 문제를 해결하실 수 있기를 바랍니다.

@MikeNolan 테스트 도메인 이메일에서 개인 이메일로만 Mailjet을 사용해 테스트 캠페인을 보내봤는데, 큐에 걸려 있는 상태입니다. 그래서 Mailjet이 제 계정을 제한한 것 같습니다! 고객 서비스에 문의해서 문제를 해결해야겠네요 :slight_smile:

@awesomerobot 동작을 확인해 주셔서 감사합니다! hopefully 문제를 해결해서 포럼을 정상적으로 운영할 수 있기를 바랍니다 :slight_smile:

메일 서버 로그를 확인하여 이메일이 어떻게 처리되었는지 살펴보세요.

존재할 필요가 없습니다. 메일을 수신하고 싶지 않으니까요.

이 부분에 대해 반발이 있을 거라 생각하지만, 유효한 회신 주소가 없는 이메일을 보내는 것은 예의에 어긋난다고 생각합니다.

이는 수신자에게 "내 메시지는 중요하고, 너의 메시지는 중요하지 않다"라고 말하는 것과 같습니다.

(이것은 수십억 건의 메시지를 보낸 30년간의 이메일 관리자로서의 경험에서 나온 것입니다.)

이메일 주소 확인이나 비밀번호 재설정 관련 이메일에 답장할 수 있을 것이라고 기대하는 사람은 거의 없습니다. 또한 놓친 게시글 요약에 답장하는 것도 의미가 없습니다.

하지만 일부 메시지에는 답장이 의미 있습니다.
원하는 경우 이메일로 답장하도록 설정할 수 있습니다.
이메일로 답장하는 기능을 활성화하려면 mstm 수신기 컨테이너를 설정하거나 pop3를 사용할 수 있습니다.

이메일로 답변하는 것(포스트에 답글을 남겨 토론의 일부로 만드는 경우를 의미한다면)은 관리적인 성격의 이메일에서 do-not-reply@foo.bar를 봉투/보낸 사람/답장 주소로 사용하는 것과 별개의 문제입니다.

작동하지 않는 ‘비밀번호 재설정’ 메시지를 받아본 적이 있습니까? 저는 그런 메시지를 많이 받았습니다. 그렇다면 이런 일이 발생했을 때 누구에게 연락해야 할까요?

do-not-reply@…에서 온 청구서도 받아본 적이 있습니다. 때로는 그들이 정말로 돈을 받고 싶지 않은 건 아닌지 궁금할 때가 있습니다.

하지만 이는 메일 관리자들 사이에서도 일부 논쟁의 대상입니다. 그리고 저는 좀 고집스러운 늙은이입니다.

저는 MailJet에 대한 경험이 없지만, 적어도 하나는 매우 잘 알려진 이메일 호스팅 패키지가 로그를 찾는 것은커녕 보는 것조차 극도로 어렵게 만들며, 지능적으로 검색하는 것은 더더욱 불가능하다고 알고 있습니다. 하하!