Como fazer o Discourse funcionar com Postfix

Após alguns testes e erros, consegui fazer o Discourse funcionar com o Postfix. Seguem os passos que utilizei, espero que sejam úteis:

  1. Configure um registro A apontando para seu novo servidor, por exemplo forum.domain.com.

  2. Instale o Postfix, defina forum.domain.com como myhostname e adicione 172.17.0.0/16 a mynetworks para que o container do Discourse possa se comunicar com o Postfix sem autenticação. 172.17.0.0/16 é a rede padrão usada pelos containers do Docker.

  3. Certifique-se de que o Postfix pode enviar e-mails. Eu prefiro usar swaks.

    swaks -t your_name@gmail.com
    

    Você deverá receber um e-mail com o assunto “This is a test mailing”.

  4. Em containers/app.yml, certifique-se de comentar as 3 linhas referentes a DISCOURSE_SMTP_USER_NAME, DISCOURSE_SMTP_PASSWORD e DISCOURSE_SMTP_ENABLE_START_TLS.

    E defina DISCOURSE_SMTP_DOMAIN como forum.domain.com (certifique-se de substituir pelo seu domínio aqui).

  5. Para testar, você pode conectar ao container do Discourse com docker exec -it app bash e executar:

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

    Você deverá receber um e-mail com o assunto “This is a test mailing”.

  6. Reinicie o Discourse com ./launcher rebuild app. Agora você deverá conseguir criar novas contas e receber o e-mail de verificação.