Problem mit dem Email-Versand bei WordPress

Hallo zusammen,

ich habe das Problem schon seid Tagen im Auge… aber irgendwie nie die Zeit gefunden. Heut hat es mich dann aber genervt. Der ein oder andere kennt das Problem vielleicht… Es wird ein Kommentar zu einem Artikel abgegeben und kurze Zeit später bekommt man eine Email vom MAILER DAEMON mit dem Betreff “failure notice”.

Nein, das ist weder Spam noch wird ihr Server als Spamschleuder missbraucht. Das ganze hat einen simplen Hintergrund. Sobal ein nicht Registrierter User einen Kommentar schreibt (oder auch bei div. anderen Aktionen) schickt WordPress automatisch eine Email an den Administrator (Seitenbetreiber). Das dumme dabei ist nur das diese Emailadresse anscheinend nicht vorgegeben werden kann und sie sich somit wir folgt zusammensetzt: “wordpress@” + Domainname. Zum Beispiel “[email protected]”.
Existiert diese Emailadresse nun real gar nicht dann gibt es, unter umständen, eben den obigen Fehler da der Empfänger prüft ob die Absenderadresse wirklich existiert… tut Sie das nicht dann verweigert er schlichtweg die Annahme. Das registriert der Absenderserver und schickt ihnen obige Email die Sie einfach darüber informiert das die Email nicht zugestellt werden konnte. :( Blöd. Noch blöder ist das diese “wordpress@…” Emailadresse im Script verankert ist und nicht so einfach geändert werden kann. Warum auch immer. Besonders da man im Adminbereich eine Admin-Emailadresse angegeben hat bzw. angeben kann.

Das nächste Problem was ich hatte ist das WordPress emails nur per mail() verschickt. Normalerweise sollte das kein Problem darstellen, bei mir schon.

Ich habe gerade, mal wieder, 2 Stunden in den Eingeweiden von Worpress rumgefummelt bis alles funktioniert hat. Dabei habe ich mir nicht jeden Schritt gemerkt und kann daher hier leider auch keine Detailierte Anleitung geben wie Sie das abstellen können.

Wenn es nur um Problem mit der “wordpress@…” Adresse geht dann können Sie folgendes Probieren:

Schritt 1)

Öffnen Sie die “./wp-config.php” mit einem Editor und fügen Sie nach allen anderen Werten die folgenden Zeilen hinzu:
//email
define (‘STD_MAIL’, ‘***‘);

Ersetzen Sie die 3 Sternchen mit ihrer Emailadresse. Diese Variable setzen wir in der wp-config.php damit wir diese Emailadresse später schnell ändern können und nicht wieder in den Code müssen.

Schritt 2)

Öffnen Sie die Datei “./wp-admin/includes/upgrade.php” mit einem Editor und suchen Sie nach der Zeichenkette “wordpress@” (ca. Zeile 118). Die Zeile sollte wie folgt aussehen…
$message_headers = ‘From: “‘ . $blog_title . ‘” <wordpress@’ . $_SERVER…
… ändern Sie diese nun wie folgt ab…
$message_headers = ‘From: “‘ . $blog_title . ‘” <‘ . STD_MAIL . ‘>’;

Schritt 3)

Öffnen Sie die Datei “./wp-includes/pluggable.php” mit einem Editor und suchen Sie nach der Zeichenkette “wordpress@”… Treffer 1 ca. bei Zeile 350 und ändern Sie diese wie folgt (die originalzeilen habe ich leider nicht mehr):
$from_email = STD_MAIL;
und Treffer 2 ca. bei Zeile 896:
$wp_email = STD_MAIL;

Das sollte es gewesen sein. Einfach mal ausprobieren. Falls ich etwas vergessen habe, schreibt bitte einen Kommentar hier im Artikel.

Zum Umstellen von Mail() auf SMTP kann ich leider noch weniger sagen. Nur das es einem nicht einfach gemacht wird. Auch hier könnte man im Adminbereich eine weiche einbauen… hat man aber leider nicht. Warum auch immer. Also wieder ab in den Code.

In der Datei “./wp-includes/pluggable.php” nach der Zeile “$phpmailer->IsMail();” suchen (ca. Zeile 377). Das ändern in $phpmailer->IsSMTP();. Dann gehts in die “./wp-includes/class-phpmailer.php”. Hier sind in der Datei weit oben die Variablen. Einige sind belegt und andere leer. Hier müssen Sie die SMTP VARIABLES mit ihren Werten ausfüllen. Dabei am besten gleich noch mal die $Mailer auf “smtp” setzen.
Weiter unten im Script die Funktion “CreateHeader” suchen und die folgende Zeile ändern:
if($this->Mailer != “mail”)
in
//if($this->Mailer != “mail”)
Also einfach auskommentieren. Sonst hat die Email keinen Betreff. Warum das da überhaupt drin ist frage ich mich… aber ok. Man muss nicht alles wissen, hauptsache es funktioniert.

Damit sollte auch der SMTP-Versand funktionieren.

Gruß
Gordon


Hinweis: Die verwendung meiner Codeschnipsel erfolgt auf eigene Gefahr! Ich übernehme auch keine Garantie auf Funktionstüchtigkeit (jeder Server ist anders konfiguriert. Bei Problemen können Sie hier aber gern einen Kommentar schreiben und wir suchen eine Lösung. ;)

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

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

Ich stimme der Datenschutzerklärung zu