이메일 수신 문제

하지만 이 변경 사항이 충분히 최신이 아닙니다.

이 때문에 봇은 저에게 이렇게 말합니다.

INCLUDE_DMARC: false를 mail-receiver.yml의 env 섹션에 추가하고, \.\launcher rebuild mail-receiver를 실행한 후

\.\launcher logs mail-receiver를 실행하여 테스트 메시지를 전송하니 다음과 같은 로그가 나타났습니다.

x86_64 아키텍처 감지됨.
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Operating environment: HOSTNAME=ubuntu-mail-receiver LANGUAGE=en_US.UTF-8 MAIL_DOMAIN=discourse.DOMAINNAME.com DOCKER_HOST_IP=172.17.0.1 PWD=/ DISCOURSE_BASE_URL=https://DOMAINNAME.com HOME=/root LANG=en_US.UTF-8 TERM=xterm SHLVL=1 DISCOURSE_API_USERNAME=system LC_ALL=en_US.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin INCLUDE_DMARC=false DISCOURSE_API_KEY=[REDACTED] _=/usr/bin/env
discourse.DOMAINNAME.com으로 전송된 메일을 Discourse로 전달 중
postfix: Postfix is using backwards-compatible default settings
Jul 18 09:00:54 ubuntu-mail-receiver postfix[19]: Postfix is using backwards-compatible default settings
postfix: See http://www.postfix.org/COMPATIBILITY_README.html for details
Jul 18 09:00:54 ubuntu-mail-receiver postfix[19]: See http://www.postfix.org/COMPATIBILITY_README.html for details
postfix: To disable backwards compatibility use "postconf compatibility_level=3.6" and "postfix reload"
Jul 18 09:00:54 ubuntu-mail-receiver postfix[19]: To disable backwards compatibility use "postconf compatibility_level=3.6" and "postfix reload"
Postfix 시작 중
Jul 18 09:00:54 ubuntu-mail-receiver postfix/master[1]: daemon started -- version 3.7.11, configuration /etc/postfix
Jul 18 09:01:32 ubuntu-mail-receiver postfix/smtpd[141]: connect from btprdrgo003.btinternet.com[65.20.50.48]
Jul 18 09:01:32 ubuntu-mail-receiver postfix/smtpd[141]: warning: connect to Milter service unix:/run/opendkim/opendkim.sock: No such file or directory
Jul 18 09:01:32 ubuntu-mail-receiver postfix/smtpd[141]: warning: connect to Milter service unix:/run/opendmarc/opendmarc.sock: No such file or directory
Jul 18 09:01:32 ubuntu-mail-receiver postfix/smtpd[141]: disconnect from btprdrgo003.btinternet.com[65.20.50.48] ehlo=1 quit=1 commands=2
Jul 18 09:01:32 ubuntu-mail-receiver postfix/smtpd[141]: connect from btprdrgo003.btinternet.com[65.20.50.48]
Jul 18 09:01:32 ubuntu-mail-receiver postfix/smtpd[141]: warning: connect to Milter service unix:/run/opendkim/opendkim.sock: No such file or directory
Jul 18 09:01:32 ubuntu-mail-receiver postfix/smtpd[141]: warning: connect to Milter service unix:/run/opendmarc/opendmarc.sock: No such file or directory
Jul 18 09:01:34 ubuntu-mail-receiver postfix/smtpd[141]: NOQUEUE: reject: RCPT from btprdrgo003.btinternet.com[65.20.50.48]: 554 5.7.1 <[REDACTED_RECIPIENT]@discourse.DOMAINNAME.com>: Recipient address rejected: Mail to this address is not accepted. Check the address and try to send again?; from=<[REDACTED_SENDER]@btinternet.com> to=<[REDACTED_RECIPIENT]@discourse.DOMAINNAME.com> proto=ESMTP helo=<btprdrgo003.btinternet.com>
Jul 18 09:01:34 ubuntu-mail-receiver postfix/smtpd[141]: using backwards-compatible default setting smtpd_relay_before_recipient_restrictions=no to reject recipient "[REDACTED_RECIPIENT]@discourse.DOMAINNAME.com" from client "btprdrgo003.btinternet.com[65.20.50.48]"
Jul 18 09:01:34 ubuntu-mail-receiver postfix/smtpd[141]: disconnect from btprdrgo003.btinternet.com[65.20.50.48] ehlo=1 mail=1 rcpt=0/1 data=0/1 rset=1 quit=1 commands=4/6

자, 이 문제를 해결하는 데 일부 진전이 있었고, 이제 이메일이 mail-receiver 컨테이너에서 Discourse 컨테이너로 전달되고 있습니다.

어제는 다음 디렉터리에서 nano를 사용하여 확장자가 없는 파일을 하나 만들었습니다.

/var/discourse/shared/mail-receiver/valid_recipients

오늘은 아래 내용을 volumes 섹션에 추가하여 해당 파일을 컨테이너에 성공적으로 마운트했습니다.

  - volume:
      host: /var/discourse/shared/mail-receiver/valid_recipients
      guest: /etc/postfix/valid_recipients

그리고 .\launcher rebuild mail-receiver가 /etc/postfix/valid_recipients를 인식하도록, mail-receiver의 env 섹션에 다음 줄을 추가했습니다.

  POSTCONF_smtpd_recipient_restrictions: texthash:/etc/postfix/valid_recipients

이후 .\launcher enter mail-receiver를 실행한 다음,

ls -l /etc/postfix/valid_recipients

을 실행하면 오류 없이 정상적인 결과가 반환됩니다.

그리고

cat /etc/postfix/valid_recipients

을 실행하면 허용하려는 수신자 목록이 표시됩니다.


요약하자면, 이제 이메일이 Discourse로 전송되고 있으며 바운스되지 않습니다. 하지만 그 후 MailGun을 통해 DISCOURSE_NOTIFICATION_EMAIL이 사용되어 Discourse 관리자 UI에서 보이는 Email::Receiver::BadDestinationAddress 거부가 공지됩니다.

“받는 사람” 주소가 하위 카테고리의 사용자 지정 수신 이메일 주소 및 수신/거부 로그와 정확히 일치합니다

@cvx “이메일로 답장” 기능을 활성화한 후, 최근 커밋 이후로 이메일이 다시 정상 작동하고 있습니다

안녕하세요,

이 주제가 해결됨 상태가 해제된 것으로 보입니다. 또한 Google에서 제 지역, 이름, 성을 검색했을 때 영어 이외의 언어로 작성된 것으로 보입니다.

이 주제를 목록에서 제외하는 것이 좋을까요?

fixed 태그가 없는 것 같습니다.

아, 네, 고쳤네요

근데 태그를 추가할 수가 없어요?

우리의 힘을 합쳐, @VolunteerMods를 소환합니다!

2개의 좋아요

앞으로는 그룹을 멘션하는 대신 플래그를 지정하는 것이 좋을 수 있지만, #fixed를 붙이려고 관리자/스태프를 호출하는 것은 권장되지 않는다고 생각해요. 이번 한 번은 괜찮게 할게요 :slight_smile:

업데이트: 아니야, 전혀 괜찮아

4개의 좋아요