Wenn auf einmal keine Mails mehr von WordPress versendet werden (gelöst)

Beim Testen eines Formulars in WordPress hatten wir das Verhalten, dass E-Mails zu externen Adressen nicht mehr zugestellt wurden. Nach etwas Analyse haben wir die Ursache außerhalb von WordPress gefunden.

tl;dr

Beim Auftreten des Fehlers war uns nicht klar, wo die Mail verloren gegangen ist. Um die Ursache einzuschränken, haben wir das Worpress Plugin WP Mail Logging installiert. Es zeigt alle E-Mail, die über WordPress verschicht werden. Nach der Installation des Plugins haben wir unsere Test wiederholt. Die Mail ist wieder nicht angekommen. Diesmal konnten wir die Mail in der Liste des Plugins sehen – das Formular scheidet somit als Problemursache aus.

WordPress ist auf dem Server so eingerichtet, dass es Mails an “localhost” übergibt. Postfix auf dem Server gibt die Mails an einen Relay-Server weiter. Daher haben wir uns als nächstes die Log-Dateien des Postfix-Servers angeschaut. Hier war dann auch schon der erste Hinweis auf das Problem:

Der Relay-Server hat unsere Mail mit dem Status “bounced” zurückgewiesen, da die IP-Adresse unseres Servers auf einer Spamliste von https://www.spamhaus.org steht. Okay, das erklärt erst Mal warum die Mails nicht ankommen. Aber noch nicht, warum der Server auf der Liste steht und was wir dagegen machen können. Spamhaus.org bietet auf der Seite https://www.spamhaus.org/lookup/ die Möglichkeit eine IP-Adresse darauf hin zu prüfen, ob sie gelistet ist und – wenn ja – warum. Zusätzlich lässt sich die IP-Adresse aus der Spamliste wieder entfernen. Zuvor sollte natürlich die Ursache behoben sein. In unserem Fall wurde als Grund für die Sperrung angegeben, dass unser Server beim Verbindungsaufbau im HELO-/EHLO-Parameter als Namen “localhost.localdomain” angibt.

The CBL does not list for RFC violations per-se. This particular behaviour, however, correlates strongly to spambot infections. In other words, out of thousands upon thousands of IP addresses HELO’ing this way, all but a handful are infected and spewing junk. Even if it isn’t an infection, it’s a misconfiguration that should be fixed, because many spam filtering mechanisms operate with the same rules, and it’s best to fix it regardless of whether the CBL notices it or not.


https://www.abuseat.org

Zur Beseitigung der Fehlkonfiguration haben wir:

  1. Den “richtigen” Namen des Server auf der Shell ermittelt
    hostname --fqdn
  2. Den Parameter myhostname in der Konfigurationsdatei /etc/postfix/main.cf von
    myhostname = localhost.localdomain
    auf
    myhostname = <"richtiger"-Servername von Schritt 1>
    abgeändert.
  3. Die Änderungen aktiviert:
    sudo postfix reload

Abschließend haben wir unsere Server-IP über die Self-Service Funktion “IP von Liste entfernen” von der Spam-Liste entfernt. Nach ca. 30 Minuten waren wir auf spamhaus.org nicht mehr gelistet. Danach über das WordPress Formular verschickte Mails erreichen wieder Ihre Adressaten.

<a name="tldr"></a>

too long; didn’t read

  • Aufgrund einer Fehlkonfiguration von Postfix auf dem WordPress Server ist die Server-IP auf eine Spam-Liste gekommen.
  • Der Postfix Parameter myhostname darf nicht den Wert “localhost.localdomain” haben, sondern sollte einen gültigen voll qualifizierten Hostnamen mit Domain beinhalten.
  • Nach der Korrektur der Postfixeinstellungen kann die IP-Adresse über
    https://www.spamhaus.org/lookup/ gesucht und entsperrt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.