Le rapport suivant a été préparé pour moi par ChatGPT, basé sur mon expérience réelle d’installation de Discourse (n’étant pas très calé en technologie, je me suis appuyé sur l’IA pour m’aider dans les tâches qui me sont difficiles). Je n’ai pas besoin d’aide pour le moment, mais j’espère que le rapport pourra servir de retour d’information utile sur la version 3.5.0.beta2-dev.
==================
Chère équipe Discourse,
Je souhaite partager quelques détails de dépannage concernant les problèmes d’e-mail que j’ai rencontrés lors de l’exécution de Discourse 3.5.0.beta2-dev. Je n’ai pas besoin d’assistance directe car j’ai décidé de revenir à la version 3.4.0.beta4-dev, mais j’espère que ce rapport sera utile pour identifier les problèmes potentiels avec la dernière version de développement.
1. Résumé du problème
J’ai effectué une installation propre de Discourse sur une nouvelle instance Vultr, en utilisant le service SMTP de 20i (smtp.stackmail.com). Cependant, les e-mails n’ont jamais été livrés, malgré :
- Un test de connectivité SMTP réussi (
openssl s_client -connect smtp.stackmail.com:587 -starttls smtp). - Aucune erreur n’apparaissant dans les journaux de messagerie de 20i (suggérant que Discourse n’envoyait pas réellement d’e-mails).
- Sidekiq échouant à traiter les tâches d’e-mail.
C’était inattendu car il y a quelques semaines, j’avais installé avec succès Discourse 3.4.0.beta4-dev sur une instance identique sans aucun problème d’e-mail.
Après un débogage approfondi, j’ai découvert que mon installation actuelle avait installé de manière inattendue Discourse 3.5.0.beta2-dev, ce qui a probablement contribué aux problèmes.
2. Problèmes clés identifiés
A. Les e-mails n’étaient pas livrés
- Les paramètres SMTP étaient corrects, vérifiés par des tests manuels (tests
swaksetopensslréussis). - Les e-mails étaient mis en file d’attente dans Sidekiq mais jamais reçus.
- Les journaux de messagerie de 20i n’ont montré aucun rejet ni tentative de livraison (suggérant que les messages n’ont jamais quitté Discourse).
- Aucune erreur liée aux e-mails n’est apparue dans
production.log(grep "smtp"n’a rien retourné).
B. Problèmes Sidekiq et Redis
- Initialement, Sidekiq ne fonctionnait pas (
Sidekiq::Workers.new.sizeretournait0). - Le redémarrage manuel de Sidekiq (
sv restart sidekiq) a échoué car Sidekiq était manquant en tant que service. - Redis fonctionnait (
redis-cli pingretournaitPONG), mais les journaux Discourse affichaient toujours des erreurs de connexion Redis (Errno::ECONNREFUSED). - Les journaux Sidekiq indiquaient des échecs de tâches dus à des problèmes de connexion Redis, même si Redis était confirmé comme étant actif.
- Le démarrage manuel de Sidekiq (
bundle exec sidekiq) permettait le traitement des tâches, mais les e-mails n’étaient toujours pas envoyés.
C. Incohérence de version entre les installations
- Mon installation précédente (qui fonctionnait) était sur 3.4.0.beta4-dev.
- Mon installation actuelle a installé de manière inattendue 3.5.0.beta2-dev, malgré l’utilisation de la même méthode d’installation.
- Étant donné que les e-mails fonctionnaient parfaitement dans 3.4.0.beta4-dev, je suspecte une régression ou un changement majeur dans la version 3.5.
3. Actions entreprises (toutes échouées)
Nous avons systématiquement essayé les solutions suivantes :
Connectivité SMTP confirmée avec :
openssl s_client -connect smtp.stackmail.com:587 -starttls smtp # Succès
swaks --to my-email --server smtp.stackmail.com --port 587 --auth LOGIN # Succès
Vérification que les e-mails étaient mis en file d’attente :
Jobs.enqueue(:user_email, type: :test_message, to_address: 'masden@kumagaku.ac.jp') # Retourne un ID de tâche
Sidekiq::Queue.new("default").size # Retourne 0 (indiquant que la tâche a été traitée)
Vérification des journaux Discourse :
grep "smtp" /shared/log/rails/production.log # Aucune erreur liée au SMTP
- Échecs de connexion Redis (
Errno::ECONNREFUSEDdansproduction.log).
Redémarrage et déclenchement manuel des services :
sv restart sidekiq # Échec, service manquant
redis-cli ping # Confirmation du fonctionnement
bundle exec sidekiq # Tâches traitées mais aucun e-mail envoyé
Vérification si les e-mails étaient bloqués par 20i :
- Aucun rejet ni tentative de livraison dans les journaux de messagerie de 20i.
- Si les e-mails étaient rejetés, il devrait y avoir une entrée de journal, mais rien n’est apparu.
4. Conclusion : Retour à la version 3.4.0.beta4-dev
Après un dépannage approfondi, j’ai décidé de supprimer l’installation et de réinstaller la version 3.4.0.beta4-dev, car mon installation précédente avait fonctionné sans problème avec cette version.
Bien que je n’aie pas besoin d’aide directe, je voulais signaler ces problèmes car :
- La gestion des e-mails a peut-être changé dans la version 3.5, empêchant la transmission SMTP.
- Le service Sidekiq manquant et les erreurs Redis suggèrent des problèmes de traitement des tâches en arrière-plan dans la version 3.5.
- Étant donné que j’ai pu installer 3.4.0.beta4-dev sans problème, cela suggère une possible régression dans la version 3.5.
J’espère que ce rapport sera utile pour identifier les problèmes potentiels dans Discourse 3.5.0.beta2-dev.
Cordialement,
Kirk

