Échec de l'envoi d'e-mail après l'installation

J’ai installé Discourse et j’ai maintenant un accès administrateur, mais lorsque j’essaie d’envoyer des invitations ou de tester des e-mails, tout échoue complètement.

J’ai un serveur de messagerie (mail.mydomain.com) avec le compte postmaster@mydomain.com. Après avoir lu plusieurs questions et réponses du support, il semble que mydomain.com puisse nécessiter des enregistrements DNS SPF et DKIM. Ai-je manqué cela dans les instructions d’installation ?

J’ai trouvé et testé l’enregistrement SPF, et il semble correct.
Je peux envoyer un e-mail depuis ma messagerie personnelle vers postmaster@mydomain.com et il est bien reçu.

Si j’envoie un e-mail de test depuis Discourse, il n’est pas reçu. Un DKIM est-il requis ? Si oui, comment installer le DKIM ? Encore une fois, ai-je manqué cette étape quelque part ?

Merci d’avance…

1 « J'aime »

SPF et DKIM ne devraient pas empêcher l’envoi de courriels sortants de Discourse vers votre serveur de messagerie. Vérifiez les journaux dans /logs de votre forum et les journaux du serveur de messagerie pour tout message d’erreur.

2 « J'aime »

Toute documentation à ce sujet proviendra de votre fournisseur de messagerie, car il n’existe pas de méthode unique pour les configurer. Mais comme mentionné, il est extrêmement peu probable que cela soit la cause de vos échecs de livraison.

2 « J'aime »

Merci à tous. Désolé pour le délai. Il semble que les tests d’envoi d’e-mails aboutissent dans un trou noir. Je comprends maintenant que les enregistrements SPF et DKIM ne devraient pas être requis. Voici ce que je vois actuellement lorsque je suis connecté en tant qu’administrateur :

Dans /emails/settings, je saisis n’importe quelle adresse e-mail (la mienne ou celle d’un utilisateur invité ; domaine hôte ou non) et je reçois ce message d’erreur :

Un problème est survenu lors de l’envoi de l’e-mail de test. Veuillez vérifier vos paramètres de messagerie, confirmer que votre hôte ne bloque pas les connexions e-mail, puis réessayer.

Comme je comprends les paramètres de messagerie dans Discourse, je pense qu’ils sont corrects, mais je n’ai trouvé aucune définition claire. Le domaine hôte ne bloque pas, car je peux envoyer un e-mail depuis mon adresse personnelle. J’ai vérifié UFW du droplet Discourse et il indique qu’il est désactivé.

Dans /logs/error, les logs sont vides. Une erreur évidente (ci-dessus), mais elle n’a pas été enregistrée ! L’option « Journaliser tous les échecs de traitement des e-mails » dans [/logs] est activée (vérifié). Je ne trouve aucune erreur au niveau du domaine hôte.

De plus, j’ai un site WordPress avec le plugin WP Discourse installé mais non activé. Ce plugin pourrait-il aider d’une manière ou d’une autre ?

Merci d’avance

Édition…
Je suis retourné au tableau de bord et j’ai vu ceci :

7 tâches e-mail ont échoué. Vérifiez votre app.yml et assurez-vous que les paramètres du serveur de messagerie sont corrects. [Voir les tâches échouées dans Sidekiq](https://talk.thesturdytree.com/sidekiq/retries)

J’ai cliqué sur Sidekiq et je vois 7 entrées qui sont des doublons de celles-ci :

[dans 3 heures](https://talk.thesturdytree.com/sidekiq/retries/1585096899.6700559-58d9041788be7dd98d743894) 15 [default](https://talk.thesturdytree.com/sidekiq/queues/default) Jobs::InviteEmail {"invite_id"=>2, "current_site_id"=>"default"} Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout avec #<TCPSocket:(closed)>

[dans 3 heures](https://talk.thesturdytree.com/sidekiq/retries/1585097052.665957-fc6f06d948e7d37ec15354cc) 15 [critical](https://talk.thesturdytree.com/sidekiq/queues/critical) Jobs::CriticalUserEmail {"type"=>"email_login", "user_id"=>1, "email_token"=>"da467ec8590f0ecb0220d3aed5b33c61", "current_site_id"=>"default"} Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout avec #<TCPSocket:(closed)>

Cette page du tableau de bord administrateur indique également « Vous êtes à jour ! », mais lorsque je me connecte en SSH au droplet, on m’indique que « 55 packages peuvent être mis à jour ». Cela nécessite-t-il une action ?

1 « J'aime »

Il s’agit de problèmes distincts. Le tableau de bord d’administration vous indique que Discourse lui-même est à jour. Le message affiché lors de la connexion au droplet indique qu’il existe des logiciels système pouvant être mis à jour. Vous devriez probablement examiner comment configurer des mises à jour automatisées pour ce système.

Cela semble indiquer que votre instance Discourse ne parvient pas à se connecter au serveur de messagerie spécifié sur le port indiqué. Vérifiez que votre configuration est correcte et que DO ne bloque pas les connexions sortantes sur le port que vous essayez d’utiliser.

2 « J'aime »

https://github.com/discourse/discourse/blob/master@{2020-03-24}/docs/INSTALL-cloud.md#post-install-maintenance

Sous Ubuntu, utilisez la commande dpkg-reconfigure -plow unattended-upgrades.

2 « J'aime »

Suggestions, dans l’ordre logique d’exécution :

  1. Vérifiez que votre droplet peut se connecter au serveur de messagerie via telnet
  2. Vérifiez que les identifiants SMTP fonctionnent indépendamment du droplet

Si l’étape 1 échoue, vous avez un problème réseau. DigitalOcean est connu pour bloquer certains ports sortants, et c’est la cause du problème dans 85 % des cas.

Si les étapes 1 et 2 réussissent, vérifiez votre app.yml. Il est probable que le mot de passe contienne un caractère empêchant son analyse correcte (~5 % des cas), ou que vous ne l’ayez pas saisi correctement.

Concernant le serveur de messagerie, si vous hébergez votre propre serveur plutôt que d’utiliser l’un des fournisseurs recommandés, SPF et DKIM peuvent certainement améliorer la délivrabilité, mais vous risquez d’être à la pointe de l’iceberg en termes de problèmes de messagerie.

2 « J'aime »

Merci à tous pour votre aide.
Je pense que le problème venait de mon serveur de messagerie fourni par GoDaddy. Je n’ai jamais réussi à identifier la cause exacte du problème. Il semble que GoDaddy rencontre de nombreux problèmes avec les comptes partagés. Finalement, j’ai décidé que ce n’était pas la peine de s’embêter et j’ai cherché des fournisseurs de messagerie recommandés, en choisissant mailjet.com. J’ai créé un compte gratuit sur mailjet et modifié app.yml en conséquence. Une configuration supplémentaire de mailjet a été nécessaire. J’ai à nouveau effectué le test de messagerie de Discourse : succès. Ma communauté Discourse est petite, donc il ne devrait pas y avoir de problème avec les limites d’emails gratuits de mailjet. Tout semble bon pour le moment, mais je vois qu’il reste encore beaucoup de configuration à faire.
Merci encore…

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.