Hast du die Lösungsschritte in diesem Thread und den anderen verwandten Threads bereits ausprobiert?
Füge eine Zeile zu deiner app.yml hinzu:
DISCOURSE_SMTP_DOMAIN: [deine Server-FQDN]
Anschließend im Verzeichnis /var/discourse: ./launcher rebuild app
discourse-doctor meldet möglicherweise weiterhin Fehler, aber E-Mails, die über die Admin-Konsole gesendet werden, sollten funktionieren, und der normale E-Mail-Verkehr sollte wieder aufgenommen werden.
Sollte das nicht funktionieren, melde dich bitte erneut, denn dann gibt es noch einen weiteren Aspekt, der bisher nicht entdeckt wurde.
Ich habe den Neuaufbau versucht, und er funktioniert!
Du hast recht, discourse-doctor schlägt bei mir immer noch fehl.
Ich glaube, ich habe Discourse zuvor neu gestartet anstatt es neu aufzubauen, was wahrscheinlich der Grund dafür ist, dass die Änderung keine Wirkung zeigte. Danke an @Syonyk!
Es scheint klar, dass localhost immer falsch ist, aber die meisten SMTP-Server ignorieren diesen Wert, sodass es bisher keine Rolle gespielt hat.
Die drei Stellen, an denen smtp_domain in https://github.com/discourse/discourse vorkommt, sind allesamt zwischen 2 und 7 Jahre alt. Ich frage mich, ob vielleicht eine Bibliothek aus irgendeinem Grund plötzlich localhost sendet.
Ich denke, die beste Lösung wäre – trotz der Bedenken von @Falco – dies an einer geeigneten Stelle zu beheben.
Unabhängig davon, ob sich die Mehrheitsmeinung dafür ausspricht, trotz der Abweichung von den RFCs weiterhin localhost zu senden, ist die oben beschriebene Korrektur der Rake-Aufgabe erforderlich. Übrigens: Ich bin derjenige, der diesen Code geschrieben hat. Aber Moment. Ich sehe, action_mailer.smtp_settings['domain'] kann leer sein. Also schätze ich, dass
Das sollte nämlich die domain verwenden, falls eine vorhanden ist, und andernfalls das aktuelle (aber falsche?) Verhalten beibehalten, bei dem localhost genutzt wird, wenn discourse_smtp_host nicht definiert ist.
Ich bin zögerlich, dies zu discourse-setup hinzuzufügen, da es für fast alle so funktioniert, wie es ist, und es wäre eine weitere eher verwirrende Frage. (Und ich bin dabei, eine Frage für notification_email hinzuzufügen; wenn wir nicht aufpassen, wird es bald so wirken, wie ich mich an die Linux-Kernel-Entwicklung vor ein paar Jahrzehnten erinnere.)
Ich wurde gerade auf dieses Problem aufmerksam gemacht und kann bestätigen, dass die Korrektur funktioniert. Auch unsere normalerweise verkehrsarme Instanz hat Sidekiq überlastet, anscheinend durch wiederholte Wiederholungen von Digest-Jobs.