Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver

안녕하세요! 가이드를 따라 설정을 마쳤는데, 잘 작동하고 있습니다! 다만, 이 설정들과는 무관할 것이라고 생각했던 외부 발송(outbound) 이메일에서 문제가 발생했습니다. mail-receiver를 활성화한 이후로, 모든 이메일 시도(모두 Retries 목록에 머물러 있는 상태)에 대해 Sidekiq가 다음 오류를 보고합니다:

Jobs::HandledExceptionWrapper: Wrapped OpenSSL::SSL::SSLError: SSL_read: unexpected eof while reading

검색 결과에 따르면 이것이 TLS와 관련이 있는 것 같습니다. .yml 파일에서 TLS 관련 줄을 주석 해제했는데, 다시 주석 처리해도 문제가 해결되지 않았습니다. 가이드에 있는 Postfix 충돌 해결 지침을 시도해 보았지만, 제 인스턴스에는 Postfix가 없는 것 같습니다? (가이드에 언급된 /etc/postfix 디렉토리가 제 인스턴스에 존재하지 않으며, postfix를 서비스로 인식하지도 않습니다.) 그리고 netstat 결과에 따르면 포트 25를 사용하는 것은 docker-proxy뿐입니다.

우리는 외부 SMTP 서비스로 Gmail을 사용하며, 사실 이 설정 이전에도 수신 POP3 폴링에 Gmail을 사용していました. Google을 가리키는 MX 레코드 여러 개를 삭제했지만, 가이드에서는 그렇게 하라고 했습니다.

아래는 특정 세부 사항을 삭제한 제 mail-receiver.yml 파일입니다:

## this is the incoming mail receiver container template
##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild mail-receiver
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed

base_image: discourse/mail-receiver:release
update_pups: false

expose:
  - "25:25"   # SMTP

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8

  ## Where e-mail to your forum should be sent.  In general, it's perfectly fine
  ## to use the same domain as the forum itself here.
  MAIL_DOMAIN: discourse.[mydomain].org
# uncomment these (and the volume below!) to support TLS
  POSTCONF_smtpd_tls_key_file:  /letsencrypt/discourse.[mydomain].org/discourse.[mydomain].org.key
  POSTCONF_smtpd_tls_cert_file:  /letsencrypt/discourse.[mydomain].org/fullchain.cer
  POSTCONF_smtpd_tls_security_level: may


  ## The base URL for this Discourse instance.
  ## This will be whatever your Discourse site URL is. For example,
  ## https://discourse.example.com. If you're running a subfolder setup,
  ## be sure to account for that (ie https://example.com/forum).
DISCOURSE_BASE_URL: 'https://discourse.[mydomain].org'

  ## The master API key of your Discourse forum.  You can get this from
  ## the "API" tab of your admin panel.
  DISCOURSE_API_KEY: [myapikey]

  ## The username to use for processing incoming e-mail.  Unless you have
  ## renamed the `system` user, you should leave this as-is.
  DISCOURSE_API_USERNAME: system

volumes:
  - volume:
      host: /var/discourse/shared/mail-receiver/postfix-spool
      guest: /var/spool/postfix
# uncomment to support TLS
  - volume:
      host: /var/discourse/shared/standalone/letsencrypt
      guest: /letsencrypt

이메일 기술은 제 전문 분야가 아니므로, 조언을 감사히 받겠습니다. 설정을 할 때 멍청한 실수를 했다는 지적이라도 좋습니다. 감사합니다!

1개의 좋아요