Neueste Version von Discourse versendet keine E-Mails

Ich scheine ein Problem damit zu haben, dass Discourse E-Mails über SMTP sendet.

Ich habe meinen Hostnamen bei meinem E-Mail-Dienstanbieter überprüft und erfolgreich E-Mails mit Telnet und über sendmail über die Host-VM sowie über Telnet innerhalb des Discourse Docker-Containers gesendet.

Ich habe mir die Integration von ‘sendmail’ in den Docker-Container angesehen und eine Fehlermeldung ‘Hostname konnte nicht aufgelöst werden’ erhalten, als ich direkt von der CLI eine E-Mail gesendet habe.

Für mich bedeutet dies, dass es keine Probleme mit der Kommunikation zwischen der VM und dem SMTP-Dienstanbieter gibt.

Ich habe alle üblichen SMTP-Ports ausprobiert und glaube, dass die Konfiguration in der app.yml-Datei korrekt ist. Die VM ist Linux 20.04, 24.04 und 22.04 wurden ebenfalls in Tests verwendet.

Die Verschlüsselung erfolgt mit einem Let’s Encrypt-Zertifikat.

  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

Immer wenn ich über das Discourse-Formular sende, erhalte ich eine Meldung “Execution expired”.

1 „Gefällt mir“

Überprüfen Sie die Limits Ihres E-Mail-Dienstanbieters. Manchmal schlägt der Versand fehl, wenn das Kontingent erreicht ist. Versuchen Sie, eine E-Mail von Outlook zu senden. Mir ist das einmal passiert. Ihr Problem mag anders sein, aber es kann trotzdem für jemanden nützlich sein.

1 „Gefällt mir“

Wenn Sie die Meldung „Hostname konnte nicht aufgelöst werden“ erhalten, klingt das so, als ob der Hostname nicht aufgelöst werden kann, was ein Problem darstellt.

Funktioniert rake emails:test[you@somewhere.com]? Siehe auch Fehlerbehebung bei E-Mails bei einer neuen Discourse-Installation

2 „Gefällt mir“

Vielen Dank für die Antworten. Ich habe mir das am Wochenende angesehen. Ich habe eine VM bei Digital Ocean erstellt und SMTP mit Brevo eingerichtet. Alles war in Ordnung. :slight_smile:

Also ist nichts falsch mit Discourse.

Ich vermute, dass Discourse ein Ruby GEM wie NET::smtp zum Mailen verwendet und dass standardmäßig kein SMTP-Server im Container installiert ist. Das Problem, mit dem wir konfrontiert sind, tritt in einem Azure-Tenant auf.

Mir scheint, dass die Anfrage an den externen SMTP-Dienst irgendwo blockiert wird. Durch irgendeinen Anti-SPAM-Mechanismus, der über dem Tenant sitzt.

Ich muss noch ein paar Tests durchführen, um das einzugrenzen.

Jede Information darüber, wie Discourse E-Mails versendet, wäre großartig :slight_smile: Ich bin noch relativ neu in Ruby on the Rails.

1 „Gefällt mir“

Aber Sie haben SMTP genauso konfiguriert wie auf der Digital Ocean-Instanz?

Was passiert, wenn Sie die Rake-Aufgabe ausführen?

Gleich: keine Verbindung.

Ich verwende unterschiedliche SMTP-Relays in jeder Instanz.

Es gibt ein paar Tests, die ich zur Validierung durchführe:

  • Discourse lokal über docker-compose installieren
  • Discourse in einem anderen Azure-Mandanten unter einem anderen Abonnement installieren
  • Sowohl Brevo- als auch SendGrid-SMTP-Relays validieren

Ich werde den Beitrag nach diesen Tests aktualisieren…

Keine Verbindung ist keine Verbindung. Es ist ziemlich klar, dass Sie von einer Firewall blockiert werden.

Versuchen Sie es vielleicht mit Port 2525? Oder fragen Sie, ob Ihr gewünschter Port von Ihrem Anbieter (z. B. Digital Ocean) blockiert wird.

@pfaffman Danke, dass du dir Zeit dafür genommen hast. Wie sich herausstellte, war das Problem DNS-bezogen.

Alles funktioniert jetzt richtig :grinning:

1 „Gefällt mir“

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