Problème avec le courriel d'administration lors de l'inscription

Donc… je suis sur ce projet depuis environ 6 heures et j’ai décidé de demander un peu d’aide.
J’ai installé Discourse sur un serveur, lancé le conteneur et tenté de créer mon premier compte administrateur.
Le problème : je ne reçois pas l’e-mail d’inscription.

Ce que j’ai fait :

  • Vérifié que SMTP est correctement configuré dans les paramètres, et utilisé un outil de test en ligne SMTP Test Tool pour confirmer que ces paramètres fonctionnent, ce qui est le cas. (en utilisant ce site)
  DISCOURSE_SMTP_ADDRESS: MY_SMTP_HOST
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: MY_SMTP_USERNAME
  DISCOURSE_SMTP_PASSWORD: MY_SMTP_PASSWORD
  DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optionnel, par défaut true)
  • S’assurer qu’une seule adresse e-mail est configurée pour la configuration initiale des comptes administrateurs

  • Vérifié que SSL fonctionne bien (c’est le cas !)

  • Tenté deux réinstallations fraîches d’Ubuntu et suivi le guide publié en ligne pour la configuration.

  • Vérifié qu’aucun pare-feu réseau ne bloque les connexions sortantes ou entrantes.

  • J’ai pu établir avec succès une connexion telnet vers mon serveur SMTP depuis le serveur hébergeant Discourse.

  • J’ai également configuré correctement la commande suivante à la fin du fichier app.yml :
    - exec: rails r "SiteSetting.notification_email='noreply@MY_WEB_SITE'"

Je ne sais plus quoi essayer à ce stade. Merci.

Si vous exécutez discourse-doctor, cela vous donne-t-il une erreur évidente ?

cd /var/discourse
./discourse-doctor

Ah oui, j’ai oublié de le mentionner. Un instant, laissez-moi le relancer pour récupérer la sortie que j’ai remarquée.


==================== TEST MAIL ====================
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 mail ? ('n' pour ignorer) [MY_EMAIL] :
Envoi du mail à MY_EMAIL. . .
Test de l'envoi vers MY_EMAIL en utilisant smtp.MY_SMTP:587.
Connexion au serveur SMTP réussie.
Envoi vers MY_EMAIL. . .
L'envoi du mail a échoué.
Remplacement : SMTP_PASSWORD
Remplacement : LETSENCRYPT_ACCOUNT_EMAIL
Remplacement : DEVELOPER_EMAILS
Remplacement : DISCOURSE_DB_PASSWORD
Remplacement : Envoi du mail à

==================== TERMINÉ ! ====================
Souhaitez-vous servir une version publiquement accessible de ce fichier ? (Y/n)

Je remarque que, pour une raison quelconque, « L’envoi du mail a échoué. » alors que « La connexion au serveur SMTP a réussi ».

Si votre mot de passe contient par hasard des caractères spéciaux, avez-vous essayé de l’encadrer entre des guillemets ?

C’était précédemment entre guillemets, mais je suivais un guide en ligne qui ne l’avait pas entre guillemets. Je vais réessayer avec des guillemets doubles ".

Je reconstruis en ce moment.

D’accord, c’est de nouveau opérationnel. Un instant.

Même erreur :


==================== TEST MAIL ====================
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) [MY_EMAIL] : MY_EMAIL
Envoi du message à MY_EMAIL . . .
Test de l'envoi vers MY_EMAIL en utilisant MY_SMTP_SERVER:587.
Connexion au serveur SMTP réussie.
Envoi vers MY_EMAIL . . .
L'envoi du message a échoué.
Remplacement : SMTP_PASSWORD
Remplacement : LETSENCRYPT_ACCOUNT_EMAIL
Remplacement : DEVELOPER_EMAILS
Remplacement : DISCOURSE_DB_PASSWORD
Remplacement : Envoi du message à

==================== TERMINÉ ! ====================
Souhaitez-vous rendre cette version du fichier accessible publiquement ? (Y/n)n
Journal public non généré.

Vous pouvez examiner la sortie de ce script avec :
LESS=-Ri less /tmp/discourse-debug.txt

MAIS D'ABORD, assurez-vous de connaître les trois premières commandes ci-dessous !!!

Commandes à connaître lors de l'affichage du fichier avec la commande ci-dessus (appelée 'less') :
q              -- quitter
/error<ENTRÉE> -- rechercher le mot 'erreur'
n              -- rechercher la prochaine occurrence
g              -- aller au début du fichier
f              -- avancer d'une page
b              -- reculer d'une page
G              -- aller à la fin du fichier

Essayé avec un mot de passe standard sans caractères spéciaux, essayé avec et sans les guillemets, toujours aucun changement dans le résultat.

L'envoi du courrier a échoué.

Je vous suggère d’essayer de configurer Mailgun.

Je vais essayer cela maintenant. Merci.

Avant de le faire, je vais essayer Discourse app.yml doesn't like email password contain "#" - #15 by elijah en mettant le mot de passe entre guillemets doubles, puis enfin en définissant un mot de passe sans caractères spéciaux.

Si cela ne fonctionne pas, je configurerai Mailgun (en dernier recours, car mon serveur de messagerie actuel contient de nombreux emails).

PROGRÈS ! Un nouveau message d’erreur est apparu après avoir mis le mot de passe entre guillemets doubles comme ceci "'mypass'"

==================== TEST MAIL ====================
Pour un test robuste, obtenez une adresse depuis http://www.mail-tester.com/
Ou envoyez simplement un message de test à vous-même.
Adresse e-mail pour le test mail ? ('n' pour ignorer) [sender_email]: my_email
Envoi du mail vers my_email. . .
Test de l'envoi vers my_email en utilisant my_smtp:587.
======================================== ERREUR ========================================
                                    ERREUR INATTENDUE

SMTP-AUTH demandé mais la phrase secrète est manquante

====================================== SOLUTION =======================================
Ceci n'est pas une erreur courante. Aucune solution recommandée n'existe !

Veuillez signaler le message d'erreur exact ci-dessus à https://meta.discourse.org/
(Et une solution, si vous en trouvez une !)
=======================================================================================
Remplacement : SMTP_PASSWORD
Remplacement : LETSENCRYPT_ACCOUNT_EMAIL
Remplacement : DEVELOPER_EMAILS
Remplacement : DISCOURSE_DB_PASSWORD
Remplacement : Envoi du mail vers

==================== TERMINÉ ! ====================
Voulez-vous servir une version publiquement accessible de ce fichier ? (Y/n)

L’envoi manuel d’un e-mail via telnet semble fonctionner, mais pas avec les e-mails de Discourse, ce qui indique qu’il y a un problème quelque part.

Dans production.log, j’ai trouvé ceci, est-ce que cela pourrait en être la cause ?


Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL) abonnement échoué, reconnexion dans 1 seconde. Pile d'appels ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Exception de tâche : Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Exception de tâche : Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Exception de tâche : Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Exception de tâche : Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Exception de tâche : Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL) abonnement échoué, reconnexion dans 1 seconde. Pile d'appels ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Exception de tâche : Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL) abonnement échoué, reconnexion dans 1 seconde. Pile d'appels ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Exception de tâche : Erreur de connexion à Redis sur localhost:6379 (Errno::EADDRNOTAVAIL)

Des recherches supplémentaires ont révélé Exception de tâche : SSL_connect returned=1 errno=0 state=error: dh key too small, ce qui indique que le certificat SSL du serveur de messagerie rencontre des problèmes. C’est donc du côté de Mailgun.