Problème d'envoi de l'e-mail d'activation

J’ai installé Discourse en utilisant l’installation en un clic sur DigitalOcean avec la prise en charge HTTPS de Let’s Encrypt. Je ne reçois pas l’e-mail d’activation sur mon compte administrateur. Lorsque j’exécute ./discourse-doctor, à l’étape Envoi d’e-mail, je reçois l’erreur suivante :

Net::ReadTimeout

J’héberge Discourse sur un sous-domaine, tandis que mon site principal (domaine principal) et mon serveur de messagerie sont chez Hostgator. Les enregistrements SPF et DKIM sont actifs sur mon domaine principal. J’ai configuré l’envoi de messagerie de Discourse pour le port 465, ce qui est pris en charge par les serveurs de messagerie de Hostgator.

Pourriez-vous m’éclairer sur ce qui pourrait ne pas fonctionner ?

Merci d’avance.

Édition : Lorsque j’essaie le port 587, ./discourse-doctor affiche une erreur différente donnée ci-dessous :

L’envoi du courrier a échoué.

Mise à jour : J’ai réussi à faire fonctionner l’e-mail d’activation en utilisant le port 587 et en définissant la valeur suivante dans le fichier app.yaml :

DISCOURSE_SMTP_ENABLE_START_TLS: false

Une fois connecté à l’interface d’administration, j’ai pu voir les erreurs Sidekiq suivantes (provenant d’avant ?) :

Jobs::HandledExceptionWrapper : Wrapped OpenSSL::SSL::SSLError : le nom d’hôte “mail.mydomain.com” ne correspond pas au certificat du serveur

Maintenant, je comprends que cette erreur a disparu parce que j’ai défini DISCOURSE_SMTP_ENABLE_START_TLS à false, mais est-ce la bonne façon de procéder ?

Bonjour et bienvenue sur Meta @nparab :wave:

Je crains que nous ne puissions prendre en charge l’installation en un clic proposée par DigitalOcean, car ce n’est pas la méthode officiellement recommandée pour configurer Discourse. Je vous recommande vivement de suivre notre guide d’installation officiel.

Ce message est explicite et signifie que votre serveur de messagerie est mal configuré.

Mais si je me connecte via cette commande :

openssl s_client -starttls smtp -crlf -connect mail.mydomain.com:587

la connexion s’établit correctement et je peux même envoyer des courriels. Si le serveur de messagerie était mal configuré, cette commande ne devrait pas fonctionner non plus, n’est-ce pas ?

Mise à jour : En exécutant cette commande :

openssl s_client -servername mail.mydomain.com -starttls smtp -crlf -connect mail.mydomain.com:587

il retourne un certificat pour mydomain.com au lieu du certificat pour mail.mydomain.com.

Est-ce là la mauvaise configuration dont vous parliez ?

Pour l’instant, j’ai configuré Discourse pour utiliser mydomain.com (au lieu de mail.mydomain.com) en tant que DISCOURSE_SMTP_ADDRESS dans le fichier app.yml, afin que les certificats correspondent. Cela va-t-il poser des problèmes ?