Update mail-receiver auf die Release-Version

Wenn Sie hierher gekommen sind, weil Sie diese Meldung in Ihrem Admin-Dashboard bemerkt haben:

Wir haben eine veraltete Version von mail-receiver erkannt.

dann sind Sie am richtigen Ort.

Bitte melden Sie sich per SSH auf Ihrem Discourse-Server an und führen Sie die folgenden beiden Befehle aus, um mail-receiver zu aktualisieren:

sed -i 's/mail-receiver:.*/mail-receiver:release/' /var/discourse/containers/mail-receiver.yml
/var/discourse/launcher rebuild mail-receiver

Weitere Details finden Sie im folgenden Abschnitt.

Warum müssen wir mail-receiver aktualisieren?

Wir müssen mail-receiver auf eine neuere Version aktualisieren, die keine veraltete API-Authentifizierungsmethode mehr verwendet.

Bei der ursprünglichen Einrichtung von mail-receiver wurden Sie aufgefordert, eine Datei containers/mail-receiver.yml zu erstellen, die eine fest codierte Versionsnummer enthielt:

base_image: discourse/mail-receiver:x.x.x

Um zukünftige Updates zu erhalten, ohne diese Nummer manuell aktualisieren zu müssen, können Sie die Versionsnummer auf release statt auf eine spezifische Version setzen.

Bitte bearbeiten Sie /var/discourse/containers/mail-receiver.yml, um dieses Basis-Image zu verwenden:

base_image: discourse/mail-receiver:release

Falls gewünscht, können Sie einfach folgenden Befehl ausführen:

sed -i 's/mail-receiver:.*/mail-receiver:release/' /var/discourse/containers/mail-receiver.yml

um die Datei für Sie zu bearbeiten.

Anschließend können Sie folgenden Befehl ausführen:

/var/discourse/launcher rebuild mail-receiver

um auf die neueste Version von mail-receiver zu aktualisieren.

21 „Gefällt mir“

Danke für den Update-Guide @blake! Allerdings scheint aus irgendeinem Grund die Datei mail-receiver.yml in /var/discourse/containers/ nicht vorhanden zu sein.

root@nomadgate-community-eu:/var/discourse# sed -i 's/mail-receiver:.*/mail-receiver:release/' /var/discourse/containers/mail-receiver.yml
sed: kann '/var/discourse/containers/mail-receiver.yml' nicht lesen: Datei oder Verzeichnis nicht gefunden

Zur Sicherheit habe ich ls ausgeführt, um zu prüfen, was tatsächlich dort ist:

root@nomadgate-community-eu:/var/discourse/containers# ls
app.yml  app.yml.save

Hast du eine Idee, warum die Datei mail-receiver.yml fehlt und was ich tun kann? Der Mail-Empfänger scheint für meine Community auch ohne die Datei zu funktionieren…

EDIT: Wenn ich nochmal nachdenke, glaube ich nicht, dass ich „mail-receiver

2 „Gefällt mir“

Ich stimme zu – ich sehe in meiner Discourse-Installation keine Datei containers/mail-receiver.yml. Bisher habe ich keine negativen Auswirkungen festgestellt.

@dltj Nutzt du auch SendGrid oder etwas Ähnliches?

Hier ist der Punkt: Wenn du den Mail-Empfänger nicht installiert hast, musst du ihn auch nicht aktualisieren.

2 „Gefällt mir“

Sicher, aber ich versuche, so viele Informationen wie möglich zu sammeln, da es je nach Unterstützung durch SendGrid oder andere Anbieter, die Sie mit diesem Endpunkt verbinden können, Änderungen an API-Aufrufen mit Abfrageparametern geben könnte.

3 „Gefällt mir“

Nein, ich verwende kein SendGrid – diese Discourse-Installation ist mehrere Jahre alt. Damals habe ich eine AWS Lambda-Funktion geschrieben, die die API /admin/email/handle_mail nutzte, um eingehende E-Mails in Discourse zu übermitteln. Das Lambda-Skript basierte auf Python 2.7 und muss daher neu geschrieben werden – wahrscheinlich ist es jetzt an der Zeit, meine aktuellen Optionen zu prüfen.

Seltsamerweise ist die Meldung „Wir haben eine veraltete Version des E-Mail-Empfängers erkannt…“ nicht mehr auf meinem Discourse-Admin-Dashboard zu sehen. Seltsam. Falsch gedacht – die Meldung ist immer noch da. Vielleicht war sie kurz verschwunden, weil die Discourse-Installation einige Tage lang keine eingehenden Nachrichten über den Endpunkt /admin/email/handle_mail erhielt, aber sie kam zurück, als ich die Testnachricht gesendet habe?

Gerade überprüft – der E-Mail-Empfang in Discourse funktioniert weiterhin einwandfrei.

1 „Gefällt mir“

Richtig. Es läuft nach 24 Stunden ab, wenn keine Nachrichten eingegangen sind.

2 „Gefällt mir“

Ah, verstehe. Die Warnung im Dashboard bedeutet also nicht, dass ich ‘mail-receiver’ verwende, sondern dass ich die nun veralteten Parameter api_key und api_username als Abfrageparameter für den API-Endpunkt nutze. Okay, das lässt sich einfach beheben. Danke für die Hinweise.

3 „Gefällt mir“