Cómo hacer que Discourse funcione con Postfix

Después de varios intentos y errores, he logrado que Discourse funcione con Postfix. Aquí están los pasos que utilicé, espero que puedan ser útiles:

  1. Configura un registro A que apunte a tu nuevo servidor, por ejemplo forum.domain.com.

  2. Instala Postfix, establece forum.domain.com como myhostname y agrega 172.17.0.0/16 a mynetworks para que el contenedor de Discourse pueda comunicarse con Postfix sin autenticación. 172.17.0.0/16 es la red predeterminada utilizada por los contenedores de Docker.

  3. Asegúrate de que Postfix pueda enviar correos electrónicos. Prefiero usar swaks.

    swaks -t tu_nombre@gmail.com
    

    Deberías recibir un correo electrónico con el asunto “This is a test mailing”.

  4. En containers/app.yml, asegúrate de comentar las 3 líneas correspondientes a DISCOURSE_SMTP_USER_NAME, DISCOURSE_SMTP_PASSWORD y DISCOURSE_SMTP_ENABLE_START_TLS.

    Luego establece DISCOURSE_SMTP_DOMAIN en forum.domain.com (asegúrate de reemplazarlo con tu nombre de dominio aquí).

  5. Para probar, puedes conectarte al contenedor de Discourse ejecutando docker exec -it app bash y luego:

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

    Deberías recibir un correo electrónico con el asunto “This is a test mailing”.

  6. Reinicia Discourse con ./launcher rebuild app. Ahora deberías poder crear una nueva cuenta y recibir el correo de verificación.