이 부분에 대해서는 전혀 동의할 수 없습니다. mail-receiver의 장점은 이메일이 폴링이 아닌 API를 통해 푸시된다는 점입니다. Discourse에 이메일이 도착하는 데 걸리는 시간에서 mail-receiver를 사용할 때와 그렇지 않을 때의 차이는 상당합니다(분 단위 대 초 단위).
설정 단순성에서도 큰 차이가 있습니다. mail-receiver는 yml 파일의 3줄만 수정하면 되지만, postfix OOBE는… 더 많은 작업이 필요합니다.
예상대로 메일이 정상적으로 전달되고 있다면, 이는 누군가가 당신의 메일 서버를 사용하여 다른 도메인으로 메일을 전달하려 한다는 것을 의미합니다. 예를 들어, 누군가가 MX 레코드를 당신의 IP 주소로 지정했을 경우이거나, 또는(이건 제가 한 번도 들어본 적 없지만 ) 누군가가 악의적으로 당신의 메일 서버를 통해 원치 않는 메일을 전달하려 할 때입니다.
이 모든 오류가 동일한 IP에서 발생했나요? 로그에서 해당 오류 메시지의 대상 도메인이 무엇인지 확인할 수 있나요?
이전에 정상적으로 작동하던 mail-receiver에 일부 변경 사항을 적용한 후 이 문제가 발생했습니다. 컨테이너를 다시 빌드하면 해결될 줄 알았는데, 분명 무언가 제대로 처리되지 않아 모든 수신자에게 ‘Relay access denied’ 오류가 여러 번 발생했습니다. DNS는 올바르게 설정되어 있었습니다.
결국 단순히 git pull을 실행하고 launcher rebuild mail-receiver 명령을 입력한 후 문제가 해결되었습니다. 다른 분들에게도 도움이 될 수 있을지 모르기에 이 내용을 공유합니다.
업데이트:ufw deny 25가 적용되었고 mail-receiver가 정상 작동합니다 (2025-02-07)
이것이 올바른 방법임을 확인합니다. 다만, 다른 오류 하나를 범했던 적이 있습니다. 이 문제는 mail-receiver를 구현하려는 제 두 번째 포럼에 관한 것입니다. 첫 번째 포럼에서는 메일을 수신하는 도메인의 MX 레코드 Value를 DISCOURSE_BASE_URL로 설정하고 있었습니다.
이제 메일이 제 첫 번째 포럼에만 오는 것이 아니라 (두 번째) 포럼 UI로도 도착하고 있습니다.
참고: yml 파일을 변경한 후 ./launcher rebuild mail-receiver를 실행하지 않았기 때문에 이 오류가 발생했을 수 있습니다 (2015-02-06)
발신은 Amazon SES를 통해 이루어지고, 수신은 포럼 도메인의 mx 레코드를 통해 들어오며, 이 시점에 docker가 개입합니다.
그 이유는 docker와 그 내부 작동 방식 때문입니다. docker는 ufw를 전혀 신경 쓰지 않습니다. 정확한 세부 설명을 원하시면 잠시만 기다려 주세요 — 한 번은 왜 Discourse가 내 방화벽을 무시하는지 질문을 해본 적이 있는데, 그 이유는 패킷 트래픽 때문이었습니다. 하지만 무슨 일이 일어나고 있는지 깊이 이해하는 건 제 취향이 아닙니다. 제 입장에서는 그냥 일이 돌아주면 충분합니다. 믿어주세요: ufw는 22, 80, 443 포트만 열려 있습니다.
제가 보기에는 당신이 인용한 상황은 메일 수신기가 postfix를 사용하여 메일 발송도 담당하는 경우인 것 같습니다.