Discourse를 Postfix와 함께 작동시키는 방법

여러 번 시행착오를 거친 끝에 Postfix와 함께 Discourse를 동작하도록 만들었습니다. 제가 사용한 단계는 다음과 같습니다. 도움이 되길 바랍니다:

  1. A 레코드를 설정하여 새 서버를 가리키도록 합니다. 예를 들어 forum.domain.com

  2. Postfix를 설치하고 forum.domain.com을 myhostname으로 설정한 뒤, Discourse 컨테이너가 인증 없이 Postfix와 통신할 수 있도록 mynetworks에 172.17.0.0/16을 추가합니다. 172.17.0.0/16은 Docker 컨테이너에서 기본적으로 사용되는 네트워크입니다.

  3. Postfix가 이메일을 보낼 수 있는지 확인합니다. 저는 swaks를 사용하는 것을 선호합니다.

    swaks -t your_name@gmail.com
    

    "This is a test mailing"이라는 제목의 이메일을 수신해야 합니다.

  4. containers/app.yml에서 DISCOURSE_SMTP_USER_NAME, DISCOURSE_SMTP_PASSWORD, DISCOURSE_SMTP_ENABLE_START_TLS에 해당하는 3줄을 주석 처리하도록 확인하세요.

    그리고 DISCOURSE_SMTP_DOMAIN을 forum.domain.com으로 설정합니다(여기서는 자신의 도메인 이름으로 대체해야 합니다).

  5. 테스트하려면 docker exec -it app bash 명령으로 Discourse 컨테이너에 접속한 후 다음을 실행할 수 있습니다:

    apt update
    apt install -y swaks
    swaks -t name@gmail.com --server forum.domain.com
    

    "This is a test mailing"이라는 제목의 이메일을 수신해야 합니다.

  6. ./launcher rebuild app 명령으로 Discourse를 재시작합니다. 이제 새 계정을 생성하고 인증 이메일을 수신할 수 있어야 합니다.