Comment faire fonctionner Discourse avec Postfix

Après plusieurs essais et erreurs, j’ai réussi à faire fonctionner Discourse avec Postfix. Voici les étapes que j’ai utilisées, j’espère qu’elles vous seront utiles :

  1. Configurez un enregistrement A pointant vers votre nouveau serveur, par exemple forum.domain.com.

  2. Installez Postfix, définissez forum.domain.com comme myhostname et ajoutez 172.17.0.0/16 à mynetworks afin que le conteneur Discourse puisse communiquer avec Postfix sans authentification. 172.17.0.0/16 est le réseau par défaut utilisé par les conteneurs Docker.

  3. Assurez-vous que Postfix peut envoyer des e-mails. Je préfère utiliser swaks.

    swaks -t votre_nom@gmail.com
    

    Vous devriez recevoir un e-mail intitulé « This is a test mailing ».

  4. Dans containers/app.yml, assurez-vous de commenter les trois lignes concernant DISCOURSE_SMTP_USER_NAME, DISCOURSE_SMTP_PASSWORD et DISCOURSE_SMTP_ENABLE_START_TLS.

    Définissez ensuite DISCOURSE_SMTP_DOMAIN sur forum.domain.com (n’oubliez pas de remplacer par votre nom de domaine ici).

  5. Pour tester, vous pouvez vous connecter au conteneur Discourse avec docker exec -it app bash et exécuter :

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

    Vous devriez recevoir un e-mail intitulé « This is a test mailing ».

  6. Redémarrez Discourse avec ./launcher rebuild app. Vous devriez maintenant pouvoir créer un nouveau compte et recevoir l’e-mail de vérification.