Weiter zum Inhalt

phpmailer und der Return-Path

Oh je, da habe ich mal wieder eine kleine, aber sehr nervende Kleinigkeit gefunden. Für ein Kundenprojekt sollte ich explizit den E-Mail-Header „Return-Path“ setzen. Was E-Mail-Header sind erklärt unter anderem der Beitrag im Datenschutz-Blog recht schön. Und was es mit dem Return-Path auf sich hat, beschreibt zum Beispiel der FAQ Eintrag „E-Mail-Header lesen und verstehen“ von Thomas Hochstein.

Aber zurück zum eigentlichen „Return-Path-Setzen-Problem“. Eigentlich ist alles ganz einfach. Je nachdem, welche Art des Mailversandes gewählt wird, wird einfach der Header dem zuständigen Programmteil übergeben. Das funktioniert für den eigentlichen Absender und Empfänger genauso wie für speziell vom Programm verwendete „X-„-Header.
So auch beim OXID eShop. Bei diesem Shopsystem wird das weit verbreitete, von mir auch sonst gern verwendete Script phpmailer genutzt.

Der phpmailer ist objektorientiert entwickelt und es existieren verschiedene Methoden zum Setzen von Headern. So gibt es u.a. die Methoden phpmailer::HeaderLine() und phpmailer::CustomHeader(). Beide wollten aber nicht den Return-Path setzen. Also habe ich etwas weiter Google geknechtet. Dort gibt es genügend Informationen, wie ich mit PHP und der mail() Funktion den Header setzen können soll. Aber das brachte mir nichts. Also habe ich weiter gesucht. Und siehe da, ich kann mit den genannten Methoden durchaus Header setzen, aber der Return-Path wird vom phpmailer immer wieder überschrieben. Und zwar überschreibt der phpmailer den Header mit dem eigentlichen Absender. Es ist jedoch trotz allem möglich, den Header zu setzen. Die magische Zeile Code muss allerdings wie folgt aussehen:

/*
  vorher muss natuerlich phpmailer instanziiert werden,
  bei mir ist die Referenz in $oMail gespeichert
*/
$oMail->Sender = "mein@return-pa.th";

Sobald die Eigenschaft gesetzt ist, funktioniert die Sache mit dem Return-Path reibungslos. Manchmal können Dinge so einfach sein….

Kommentar verfassen

Dein E-Mail wird nicht veröffentlicht oder weitergegeben. Pflichtfelder sind mit * markiert.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close