La dernière version de Discourse n'envoie pas d'e-mails

J’ai l’impression d’avoir un problème avec Discourse qui envoie des e-mails via SMTP.

J’ai vérifié mon nom d’hôte auprès de mon fournisseur de services de messagerie et j’ai réussi à envoyer des e-mails avec Telnet et via sendmail via la VM hôte ainsi que via Telnet à l’intérieur du conteneur Docker de Discourse.

J’ai examiné l’intégration de ‘sendmail’ dans le conteneur Docker et j’ai reçu une erreur « nom d’hôte introuvable » lors de l’envoi d’e-mails directement depuis la CLI.

Pour moi, cela signifie qu’il n’y a aucun problème de communication entre la VM et le fournisseur de services SMTP.

J’ai essayé tous les ports SMTP habituels et je pense que la configuration dans le fichier app.yml est correcte. La VM est sous Linux 20.04, 24.04 et 22.04 ont également été utilisés lors des tests.

Le chiffrement est effectué avec un certificat Let’s Encrypt.

  DISCOURSE_SMTP_ADDRESS: <smtp_provider>
  DISCOURSE_SMTP_PORT:  <port>
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_USER_NAME: apikey
  DISCOURSE_SMTP_PASSWORD: "<secret>"
  DISCOURSE_SMTP_ENABLE_START_TLS: true

Chaque fois que j’envoie via le formulaire Discourse, je reçois un message « exécution expirée ».

1 « J'aime »

Vérifiez les limites de votre fournisseur de services de messagerie. Parfois, l’envoi échoue lorsque le quota est atteint. Essayez d’envoyer un e-mail depuis Outlook. Cela m’est arrivé une fois. Votre problème est peut-être différent, mais cela pourrait toujours être utile à quelqu’un.

1 « J'aime »

Si vous obtenez « nom d’hôte introuvable », cela signifie que le nom d’hôte ne peut pas être résolu, ce qui est un problème.

Est-ce que rake emails:test[you@somewhere.com] fonctionne ? Voir aussi Dépannage des e-mails sur une nouvelle installation de Discourse

2 « J'aime »

Merci pour vos réponses. J’ai regardé ce week-end. J’ai créé une VM sur Digital Ocean et configuré le SMTP avec Brevo. Tout allait bien. :slight_smile:

Donc, rien de mal avec Discourse.

Je suppose que Discourse utilise un GEM Ruby tel que NET::smtp pour envoyer des e-mails et qu’il n’y a pas de serveur smtp installé par défaut dans le conteneur. Le problème que nous rencontrons se situe sur un tenant Azure.

J’ai l’impression que la requête vers le service SMTP externe est bloquée quelque part. Par une sorte de mécanisme anti-SPAM situé au-dessus du tenant.

J’ai encore quelques tests à effectuer pour affiner cela.

Toute information sur la façon dont Discourse facilite l’envoi d’e-mails serait formidable :slight_smile: Je suis un peu nouveau dans Ruby on the Rails.

1 « J'aime »

Mais avez-vous configuré le SMTP de la même manière que sur l’instance Digital Ocean ?

Que se passe-t-il lorsque vous exécutez la tâche Rake ?

Identique : aucune connexion.

J’utilise différents relais SMTP dans chaque instance.

Il y a quelques tests que j’exécute pour valider :

  • Installer Discourse via docker-compose localement
  • Installer Discourse dans un autre locataire Azure sous un autre abonnement
  • Valider les relais SMTP de Brevo et SendGrid

Je mettrai à jour le message après ces tests…

Pas de connexion, c’est pas de connexion. Il est assez clair que vous êtes bloqué par un pare-feu.

Essayez peut-être le port 2525 ? Ou demandez si le port souhaité est bloqué par votre fournisseur (par exemple, digital ocean).

@pfaffman Merci d’avoir pris du temps pour cela. Comme il s’est avéré, le problème était lié au DNS.

Tout fonctionne maintenant correctement :grinning:

1 « J'aime »

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