E-Mails nicht senden können

Ich erhalte keine E-Mails, wenn ich ein Konto erstelle, und ich frage mich, ob ich etwas falsch gemacht habe. Was ist der Unterschied zwischen einer SMTP-Adresse und einer SMTP-Domäne?

SMTP-Adresse: user@example.com
SMTP-Domäne: example.com

1 „Gefällt mir“

Könnten Sie mir vielleicht helfen? Ich habe ein Online-SMTP-Tool verwendet und es funktioniert alles einwandfrei, aber Discourse scheint keine E-Mails zu versenden, wenn ich mich anmelde.

Hallo und willkommen @ethhaqn :slight_smile:

Haben Sie die Fehlerbehebungsanleitung überprüft?

3 „Gefällt mir“

Ich habe telnet mail.theapi.tech 25 verwendet und es gab 220 myhelper.tech ESMTP Postfix zurück, eine alte Domain, die ich zum Testen dieses Systems verwendet habe. Glauben Sie, dass dies Auswirkungen auf das Senden von E-Mails hat? Wenn ja, wo kann ich die Domain ändern? Nochmals, es ist eine alte Domain, aber ich bin mir nicht sicher, wo ich diese Domain eingegeben haben könnte, damit sie zurückgegeben wird, wenn ich telnet mail.theapi.tech 25 ausführe.

Es könnte auch erwähnenswert sein, dass ./discourse-doctor mir sagte, dass es einen ungewöhnlichen Fehler gab und mein Problem nicht zu lösen schien.

Außerdem habe ich ./discourse-setup nicht verwendet, um Discourse einzurichten, da Port 80 belegt war. Stattdessen habe ich containers/app.yml manuell bearbeitet und ./launcher rebuild app ausgeführt.

Ich habe tail shared/standalone/log/rails/production.log verwendet und die Protokolle sagen:

Processing by FinishInstallationController#confirm_email as HTML
  Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 0.7ms | Allocations: 255)
  Rendered layout layouts/finish_installation.html.erb (Duration: 6.7ms | Allocations: 2103)
Completed 200 OK in 8ms (Views: 7.4ms | ActiveRecord: 0.0ms | Allocations: 2735)
start
  Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 34)
Delivered mail 0e5b023a-90f9-4c23-ae2b-488b4d70d907@theapi.tech (39.6ms)
Job exception: hostname "mail.theapi.tech" does not match the server certificate

fail

openssl s_client -connect mail.theapi.tech:25 -starttls smtp -showcerts

Verifizierungsfehler: selbstsigniertes Zertifikat

Sie müssen also DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none in Ihrer app.yml festlegen.

2 „Gefällt mir“

Würde das nicht bedeuten, dass Sie Ihre E-Mail-Adresse nicht mehr verifizieren müssen?

Nein. Dadurch wird Discourse die Überprüfung überspringen, die gerade fehlschlägt.

Ah, da haben wir es. Wie bekomme ich ein SSL-Zertifikat? Das ist übrigens in meiner app.yml:

image

Ich denke, der Teil, in dem Sie Ihren eigenen Mailserver einrichten, liegt außerhalb des Rahmens dieses Forums.

1 „Gefällt mir“

Nein, nicht auf meinem Mailserver. Auf meiner eigentlichen Discourse-Website.

Bitte folgen Sie Run other websites on the same machine as Discourse und wenn das fehlschlägt, eröffnen Sie ein neues Thema.

1 „Gefällt mir“

Hallo, ich habe meine lokale Discourse-Instanz auf 2.9.0.beta4 aktualisiert und selbst nach dem Hinzufügen von DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: “none” in meiner containers/app.yml-Datei (und dem anschließenden Neuerstellen der App) erhalte ich immer noch solche Fehler:

  Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 34)
Delivered mail 31c5b9eb-1077-4155-b040-314c4a8566cb@taverne.colorfulminis.com (11.3ms)
Job exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)

Das führt offensichtlich dazu, dass meine Discourse-Instanz keine E-Mails mehr versenden kann.
Gibt es hierzu bekannte Probleme?

Zu Ihrer Information: Ich betreibe eine Preprod-Instanz mit 2.8.0.beta9 und exakt der gleichen Konfiguration, und die E-Mails werden problemlos versendet.

Vielen Dank für Ihre Hilfe.

1 „Gefällt mir“

Hallo Alexis,

Ich habe genau das gleiche Problem auf einer VM (Ubuntu 22.04 mit einer Docker-basierten 2.9.0.beta4 Discourse-Instanz). Selbst mit DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none in container/app.yml (und $DISCOURSE_SMTP_OPENSSL_VERIFY_MODE in der Docker-Umgebung auf none gesetzt), wird weiterhin certificate verify failed (self signed certificate) ausgegeben.

Edit: Zu Ihrer Information, die stabile Version (2.8.3) funktioniert wie erwartet.

Zur Information: Das Aktivieren von DISCOURSE_SMTP_ENABLE_START_TLS: true hat das Problem auf meiner Seite behoben.

Für alle, die erfolglos nach Antworten suchen und auf dieses Thema stoßen:
Ich hatte gerade das Vergnügen herauszufinden, dass mein VPS-Hosting-Anbieter die ausgehenden Mailports auf einer frisch installierten Box zuerst aktivieren muss. Das wusste ich, habe mich aber erst nach einer Nacht Schlaf daran erinnert :wink:
Viel Spaß beim Hosten! :smiley: