# Update mail-receiver auf die Release-Version

**URL:** https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491
**Category:** Sysadmins
**Tags:** how-to
**Created:** [15. November 2019 um 14:58 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491 "2019-11-15T14:58:06Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [15. November 2019 um 14:58 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/1 "2019-11-15T14:58:06Z")

</div>

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:

```plaintext
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](https://meta.discourse.org/t/discourse-api-documentation/22706) mehr verwendet.

Bei der [ursprünglichen Einrichtung von mail-receiver](https://meta.discourse.org/t/straightforward-direct-delivery-incoming-mail/49487) wurden Sie aufgefordert, eine Datei `containers/mail-receiver.yml` zu erstellen, die eine fest codierte Versionsnummer enthielt:

```plaintext
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:

```plaintext
base_image: discourse/mail-receiver:release

```

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

```plaintext
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:

```plaintext
/var/discourse/launcher rebuild mail-receiver

```

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

---

<div class="post-metadata">

### Author: ![tkrunning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tkrunning/32/119481_2.png) [@tkrunning](https://meta.discourse.org/u/tkrunning)
#### Post date: [15. Dezember 2019 um 14:51 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/2 "2019-12-15T14:51:21Z")

</div>

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.

```plaintext
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:

```plaintext
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

---

<div class="post-metadata">

### Author: ![dltj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dltj/32/114914_2.png) [@dltj](https://meta.discourse.org/u/dltj)
#### Post date: [29. Dezember 2019 um 03:39 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/3 "2019-12-29T03:39:55Z")

</div>

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

---

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [29. Dezember 2019 um 04:06 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/4 "2019-12-29T04:06:28Z")

</div>

@dltj Nutzt du auch SendGrid oder etwas Ähnliches?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [29. Dezember 2019 um 10:07 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/5 "2019-12-29T10:07:04Z")

</div>

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

---

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [29. Dezember 2019 um 12:25 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/6 "2019-12-29T12:25:39Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![dltj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dltj/32/114914_2.png) [@dltj](https://meta.discourse.org/u/dltj)
#### Post date: [31. Dezember 2019 um 21:17 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/7 "2019-12-31T21:17:58Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![blake](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/blake/32/157322_2.png) [@blake](https://meta.discourse.org/u/blake)
#### Post date: [31. Dezember 2019 um 22:34 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/8 "2019-12-31T22:34:35Z")

</div>

> [@dltj](#):
>
> Vielleicht ist es verschwunden, weil die Discourse-Installation einige Tage lang keine eingehenden Nachrichten am Endpunkt `/admin/email/handle_mail` erhalten hat, aber doch, als ich die Testnachricht gesendet habe?

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

---

<div class="post-metadata">

### Author: ![dltj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dltj/32/114914_2.png) [@dltj](https://meta.discourse.org/u/dltj)
#### Post date: [1. Januar 2020 um 01:07 UTC](https://meta.discourse.org/t/update-mail-receiver-to-the-release-version/133491/9 "2020-01-01T01:07:02Z")

</div>

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.
