Hallo zusammen,
stehe gerade mal wieder vor einem Problem: Ich möchte ein Mail per PHP versenden und zwar soll es je nachdem ob der Client HTML darstellen kann als HTML- oder Plain-Text-Mail angezeigt werden. Es soll also sowohl das HTML wie auch der Text "in einem" versandt werden.
Dazu habe ich zB. folgendes Posting im Archiv gefunden: http://forum.de.selfhtml.org/archiv/2005/2/t101605/#m623945, es müsste also möglich sein, aber leider funktioniert das nicht so ganz bei mir.
Ich mache derzeit Folgendes (Ausschnitt):
$headers = "From: ".$this->from."\r\n";
$headers .= "MIME-Version: 1.0\r\n".
"Content-Type: multipart/alternative;\n\tboundary="---"\r\n";
So wird der header mal grundsätzlich gesetzt (boundary?).
Im Inhalt der Mail wird dann zuerst das Textmail geschrieben, begonnen wird mit:
"Content-Type: text/plain;\r\n\t".
"Content-Transfer-Encoding: 8bit\r\n\r\n".
"Hier steht dann mein Plain Text Inhalt";
und danach wird dann noch der HTML-Teil angehängt:
"Content-type: text/html; charset=iso-8859-1\r\n".
"Content-Transfer-Encoding: 8bit\r\n\r\n".
"Hier steht dann mein HTML Code";
Ist das so überhaupt möglich? Also dass der Content-type dann nicht direkt im header steht sondern eigentlich im Msg-Text? Im verlinkten Posting habe ich das so verstanden, bei mir wird es allerdings ausgegeben im Mail (die Content-type-Angabe) und das HTML-Mail verschwindet komplett. Denke dass das so nicht möglich ist, oder?
Wie macht man das korrekt?
Der Versand passiert dann über mail():
mail($this->to, $this->subject, $this->message, $headers);
Wobei wie gesagt die beiden untersch. Content-types dann erst in der message enthalten sind, das ist wohl zu spät oder? Wie kann ich das besser lösen?
Hoffe das war jetzt nicht zu verwirrend erzählt.
Liebe Grüße
sunny