J’essaie actuellement de configurer un hôte avec Discourse dans Docker sur mon serveur domestique pour le tester. Cela fonctionne assez bien jusqu’à présent, l’instance fonctionne sans problème.
Cependant, je n’arrive pas à envoyer les e-mails via mon propre serveur. En principe, l’envoi via un fournisseur de services fonctionne.
J’exécute mon propre smtpd dans la nature. Cependant, j’ai désactivé les ports standard 465 et 587 pour l’envoi via IPv4 afin de restreindre les scans de ports. Seul le port 23456 est ouvert pour l’envoi via IPv4.
Un test avec
root@HomeServer:/Ruby/docker.ruby.discourse# ./discourse-doctor
donne :
==================== MAIL TEST ====================
Pour un test robuste, obtenez une adresse sur http://www.mail-tester.com/
Ou envoyez simplement un message de test à vous-même.
Adresse e-mail pour le test de messagerie ? ('n' pour sauter) [hostmaster@example.com]:
Envoi d'un e-mail à hostmaster@example.com. . .
Test d'envoi à hostmaster@example.com en utilisant smtpd.example.com:23456, nom d'utilisateur : mbox_hostmaster@example.com avec authentification simple.
======================================== ERREUR ========================================
ERREUR IMPRÉVUE
Net::ReadTimeout
====================================== SOLUTION =======================================
Ce n'est pas une erreur courante. Aucune solution recommandée n'existe !
Veuillez signaler le message d'erreur exact ci-dessus sur https://meta.discourse.org/
(Et une solution, si vous en trouvez une !)
=======================================================================================
J’ai ensuite essayé de me connecter via telnet, ce qui ne pose aucun problème :
root@HomeServer:/Ruby/docker.ruby.discourse# docker exec -t -i 50544a79b91a /bin/bash
root@discourse:/# telnet smtpd.example.com 23456
Trying 1.2.3.4...
Connected to smtpd.example.com.
Escape character is '^]'.
quit
Connection closed by foreign host.
root@discourse:/# exit
La configuration réelle dans app.yml est :
DISCOURSE_SMTP_ADDRESS: smtpd.example.com
DISCOURSE_SMTP_PORT: 23456
DISCOURSE_SMTP_USER_NAME: mbox_hostmaster@example.com
DISCOURSE_SMTP_PASSWORD: pa$$word
DISCOURSE_SMTP_ENABLE_START_TLS: true # (optionnel, par défaut true)
#DISCOURSE_SMTP_DOMAIN: discourse.example.com # (requis par certains fournisseurs)
DISCOURSE_NOTIFICATION_EMAIL: no-reply@discourse.example.com # (adresse d'envoi des notifications)
# DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
# DISCOURSE_SMTP_AUTHENTICATION: "login"
J’ai également essayé de le faire fonctionner via IPv6, mais sans succès. Existe-t-il une solution pour activer la connectivité IPv6 au sein de l’application Docker ?
Nous sommes maintenant en 2024 et 26 ans après la standardisation du protocole, j’ai configuré mes systèmes avec lui - tout fonctionne très bien.
Merci pour votre aide !
Achim