./discourse-setup에 로컬호스트의 25번 포트에서 인증 없이 SMTP 서버에 연결하기 위해 전달해야 하는 올바른 설정은 무엇인가요?
이것이 기본(OOTB)으로 지원되지 않는다는 사실에 매우 놀랐습니다. 대부분의 Linux 설치 환경에서는 이것이 기본 설정이거든요..
저희 서버는 로컬에서 postfix를 실행하고 있으며 인터넷에서 접근할 수 없습니다. 예를 들어 mail 명령을 실행할 때는 잘 작동합니다. 인터넷에서 /var/discourse/containers/app.yml 파일을 수정하라는 몇 가지 비공식 가이드를 찾았고, 마침 다음과 같은 설정으로 설치 및 시작에 성공했습니다:
DISCOURSE_SMTP_ADDRESS: localhost
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_USER_NAME: discourse@opensouceecology.org
DISCOURSE_SMTP_PASSWORD: "none"
DISCOURSE_SMTP_AUTHENTICATION: none
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_ENABLE_START_TLS: false
참고로, DISCOURSE_SMTP_USER_NAME 또는 DISCOURSE_SMTP_PASSWORD 변수를 생략하면 설치 스크립트에서 해당 변수가 필수라고 경고합니다(버그?).
그리고 이제 Discourse WUI에서 “활성화 이메일 재전송” 버튼을 클릭하면 로그 파일(/var/discourse/shared/standalone/log/rails/production.log)에 다음과 같은 항목이 나타납니다:
Started PUT "/finish-installation/resend-email" for 127.0.0.1 at 2019-11-07 13:15:31 +0000
Processing by FinishInstallationController#resend_email as HTML
Parameters: {"authenticity_token"=>"SzQCvRWiqdXsBKzOjIB0X7KkvXro7Od6SdP8Qa8vvrskPeNYZNos5ORHJfyDUrHiKShZR/txM6NHuqHHCQCR1w=="}
Rendering finish_installation/resend_email.html.erb within layouts/finish_installation
Rendered finish_installation/resend_email.html.erb within layouts/finish_installation (Duration: 0.7ms | Allocations: 103)
Rendered layouts/_head.html.erb (Duration: 0.5ms | Allocations: 103)
Completed 200 OK in 98ms (Views: 3.0ms | ActiveRecord: 0.0ms | Allocations: 4763)
Rendering layouts/email_template.html.erb
Rendered layouts/email_template.html.erb (Duration: 0.5ms | Allocations: 141)
Delivered mail c4ca58ca-345e-46c4-81bc-6d0eac7afa04@discourse.opensourceecology.org (11.3ms)
Job exception: wrong authentication type none
…하지만 제 인증 유형은 ‘none’ 입니다. 인증이 없을 때 올바른 설정은 무엇이어야 하나요?
수정: 또한, 가능한 모든 “DISCOURSE_SMTP_*” 변수와 그 유효한 값을 정의하는 문서 링크를 알려주실 수 있나요?
수정2: 이것은 생각보다 훨씬 더 어렵습니다. 'localhost’가 Discourse 도커 컨테이너(app) 자체로 해석되는 것 같고, postfix SMTP 서버를 실행 중인 도커 호스트가 아닙니다. 이는 discourse-setup 스크립트나 그 하위 스크립트에서 설정된 postfix의 mynetworks와 iptables로 인해 더 복잡해집니다. 여기서 SMTP 인증 없이 제가 Discourse를 실행하려는 SMTP 서버를 Discourse가 사용하도록 하려면 올바른 설정은 무엇인가요?