Bonjour. J’ai installé Discourse sans Docker sur mon serveur local. J’ai également installé iRedMail. Au début, j’ai essayé d’utiliser le serveur SMTP de mail.ru. Les messages de test et les invitations ont bien été envoyés, mais aucune notification par e-mail n’est arrivée, et la réinitialisation du mot de passe n’a pas fonctionné. J’ai donc décidé d’installer mon propre serveur de messagerie local pour consulter les journaux et comprendre pourquoi les messages ne partent pas. C’est fait. Les messages circulent bien entre les boîtes locales, ce qui est suffisant pour les tests. J’ai pensé que cela suffirait pour Discourse local et la messagerie. J’ai configuré mon serveur SMTP local. J’ai envoyé un e-mail de test… et il est bien arrivé ! Gagnant (non). J’ai examiné le fichier /var/log/mail.log du serveur de messagerie.
Bon. Maintenant, j’envoie une invitation à la même boîte… Je consulte les journaux du serveur de messagerie… …et rien. Il est vide. Je ne sais pas quel est le problème.
Tout ce que je demande, c’est un guide pour faire en sorte que Discourse communique avec Postfix.
Pour l’instant, j’ai un compte administrateur actif que j’ai activé manuellement, car, comme vous l’avez deviné, je n’ai pas reçu l’e-mail de vérification. Je fournirai tous les fichiers nécessaires, tels que les paramètres et les journaux, sur demande.
Cela vous fournira une sortie très détaillée de la poignée de main entre vous et le serveur SMTP ; et normalement, cette journalisation détaillée vous donnera les indices nécessaires pour résoudre votre problème.
Bonjour ! Je n’ai pas beaucoup d’expérience. J’ai installé Discourse et un serveur de messagerie pour la première fois. Pourriez-vous préciser ce que je dois exactement faire ? Merci.
Tout d’abord, vous devez temporairement « oublier » Discourse et vous concentrer sur la mise en place de votre relais SMTP, en le testant pour vous assurer qu’il peut bien relayer les courriers.
J’ai créé deux boîtes aux lettres dans mon domaine local “@ugda.space”. Les messages s’échangent entre elles. En revanche, pour les boîtes Gmail, Mail et Yandex, les messages ne s’échangent pas. Je n’ai pas configuré cela, car je pensais que la communication interne locale suffirait pour les tests.
@Anv Laissez-moi être direct : une bonne règle non écrite devrait être du genre : « Ne demandez pas aux gens de vous parler si vous n’êtes pas prêt à faire l’effort de les écouter ». Par « écouter », j’entends prendre en considération ce qu’ils vous disent. Participer à un forum compte comme « demander aux gens de vous parler », je suppose. Surtout si vous demandez de l’aide.
Continuer à répéter la même chose et forcer votre interlocuteur à se répéter aussi ne mène nulle part. Pour personne.
Maintenant, pourquoi n’avez-vous pas déjà exécuté cette ligne de commande ?
Je comprends ta frustration ; et je suis désolé de ne pas avoir plus de temps libre pour déboguer chaque fois que tu réponds à ton problème de relais SMTP.
Il semble que ton serveur de messagerie SMTP reçoive bien les courriels ; mais cela ne signifie pas nécessairement qu’il fonctionnera correctement en tant que relais SMTP.
Je me souviens, sans trop chercher, qu’il existe une option pour utiliser sendmail et d’autres clients de messagerie afin de vérifier si le serveur SMTP fonctionne correctement comme relais. Tu pourrais faire quelques recherches sur l’option sendmail -G (ou chercher une autre méthode de test). En gros, tu dois envoyer un courriel à une adresse de test différente de celle du serveur sur lequel tu travailles, en utilisant ton nouveau serveur SMTP comme relais.
Un peu d’histoire
Autrefois, la plupart des serveurs SMTP relaiaient les courriels par défaut ; mais ensuite, tous les serveurs SMTP sur le réseau sont devenus de grosses boîtes à SPAM, car les spammeurs exploitaient simplement la fonctionnalité de relais (à l’insu du propriétaire de la machine) pour inonder le monde de pourriels.
En résumé, tu dois vérifier si ton nouveau serveur SMTP peut relayer les courriels pour toi.
As-tu examiné attentivement ton tutoriel de configuration pour voir s’il mentionnait la configuration du serveur SMTP en tant que relais ?
Je réfléchis à voix haute et j’espère que cela t’aidera, même un peu, à passer à l’étape suivante de ton projet de serveur SMTP.
Vous avez mentionné que vous avez installé Discourse sans Docker. Serait-il possible pour vous de faire une nouvelle installation « classique » (avec Docker) en saisissant l’adresse e-mail que vous avez créée lors de cette nouvelle installation ? Ou bien ne pouvez-vous pas exécuter Docker sur la machine que vous utilisez ?
J’ai essayé avec Docker, mais je n’ai reçu aucun e-mail. Je n’ai même pas pu créer un compte administrateur. J’ai décidé de supprimer Docker car j’étais inexpérimenté.
Je suis sûr que cela ne sera pas très utile, mais en tant que « simple point de données supplémentaire », je n’ai jamais rencontré de problème pour configurer le courrier SMTP sur Discourse, que ce soit dans une installation de production basée sur Docker ou dans une configuration de développement macOS « sans Docker » sur ordinateur de bureau ; cependant, j’ai toujours utilisé un service SMTP tiers.
Vous avez attiré mon attention ; je suis donc très intéressé par cette petite énigme et je vais essayer de trouver du temps dans les prochaines semaines pour configurer un relais SMTP sur une partition VPS Ubuntu Linux et voir si je peux faire fonctionner Discourse avec un relais SMTP « à l’ancienne » plutôt que de dépendre de « solutions tierces ».
Je m’excuse par avance si cela me prend quelques semaines pour mettre en place cette configuration. Je prends du retard sur un tas de paperasse gouvernementale ennuyeuse parce que j’ai trop pris plaisir à apprendre le développement de plugins Discourse et comment Rails fonctionne avec toutes ses pièces mobiles.
Le journal indique qu’il y a une lettre avec un identifiant.
J’ai essayé de trouver une mention de cet identifiant.
1 ID - message de test.
2 ID - invitation
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 :
Configurez un enregistrement A pointant vers votre nouveau serveur, par exemple forum.domain.com.
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.
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 ».
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).
Pour tester, vous pouvez vous connecter au conteneur Discourse avec docker exec -it app bash et exécuter :