Discourse verbindet sich mit dem SMTP-Server, kann aber keine E-Mails darüber senden

Die erste Registrierungs-E-Mail für den Benutzer wird nicht empfangen:

Discourse Doctor meldet:
Verbindung zum SMTP-Server erfolgreich.
E-Mail-Versand fehlgeschlagen.

Allerdings:
Telnet-Verbindung zu mail.domain.com auf Port 587 funktioniert und der EHLO-Befehl für den Mailserver wird akzeptiert.

Wie kann ich das Problem beheben? Jegliche Hilfe wird sehr geschätzt.

Du könntest dir die Logs des Mail-Servers ansehen. Der Fehler ist etwas, das Discourse-doctor nicht versteht.

Sie müssen bei Google nachschauen, wie man exim4 konfiguriert.

Von 7. The default configuration file

Das Einfrieren tritt auf, wenn eine Rücksendemeldung auf einen dauerhaften Fehler stößt, weil die Absenderadresse der ursprünglichen Nachricht, die die Rücksendung ausgelöst hat, ungültig ist, sodass die Rücksendung nicht zugestellt werden kann.

Meine Vermutung ist, dass Sie die Benachrichtigungs-E-Mail-Adresse ändern oder exim so konfigurieren müssen, dass es Ihre Subdomain verwendet.

Hast du vergessen, deinen Container neu zu erstellen?

Auf jeden Fall kannst du deinen Container wie folgt überprüfen:

docker exec -it app rails c

Anschließend, in der Rails-Konsole:

[1] pry(main)>ENV

Du kannst alle deine SMTP-Umgebungsvariablen ganz einfach einsehen.

Exim4 wurde getestet, um sicherzustellen, dass es E-Mails sendet und empfängt.
Discourse wurde mit discourse-setup neu aufgebaut, unter Verwendung aller korrekten Zugangsdaten:

Hostname      : forum domainname com
Email         : user@test com
SMTP address  : mail forum domainname com
SMTP port     : 587
SMTP username : postmaster@forum domainname com
SMTP password : password

Anschließend wurde discourse-doctor ausgeführt, um zu prüfen, ob Discourse E-Mails vom lokalen Exim4-Mailserver versenden kann.

Discourse-doctor meldet:
„Verbindung zum SMTP-Server erfolgreich.“
„E-Mail-Versand fehlgeschlagen.“

Im Exim4-Log finden sich jedoch keine Fehler.

Warum schlägt der E-Mail-Versand fehl?
Ist dies ein bekanntes Problem?

Beachten Sie, dass die SMTP-Adresse lautet: mail forum domainname com.
Sollte dort wirklich „mail“ am Anfang stehen?

Discourse-doctor bestätigt, dass Discourse eine Verbindung zu:
mail forum domainname com,
herstellt, aber Discourse sendet die E-Mail dennoch nicht.

Meine Vermutung ist, dass eine Diskrepanz zwischen dem Hostnamen Ihres Forums und dem Domänennamen besteht, den der Mailserver sendet.

Welchen Hostnamen verwendet Discourse zum Versenden von E-Mails?
Verwendet es forum.somedomain.com?
oder
Verwendet es mail.forum.somedomain.com?

Standardmäßig ist es email@forum.somedomain.com, soweit ich mich erinnere.

Das verwirrt einige Leute, da sie erwarten, dass es

email@somedomain.com lautet.