Kermit: HTML/Text-Mail versenden

Beitrag lesen

Das würde ich ja gern, aber bei mir kommt leider kein HTML-Mail an sondern immer nur PlainText. Da hab ich wohl immer noch irgendetwas ganz falsch gemacht. Es ist jetzt so:

$headers .= "MIME-Version: 1.0\r\n".
"Content-Type: multipart/alternative;\n\tboundary="---04CC#Aee#0854---"\r\n";

MailInhalt:

"---04CC#Aee#0854---".
"Content-Type: text/plain;\r\n\t".

---------------------------------^^
Der Tabulator hat da nichts zu suchen.

"Content-Transfer-Encoding: 8bit\r\n\r\n".
"Hier steht mein Plain Text".
"---04CC#Aee#0854---".
"Content-type: text/html; charset=iso-8859-1\r\n".
"Content-Transfer-Encoding: 8bit\r\n\r\n".
"Hier steht mein HTML".
"---04CC#Aee#0854---";

So wie ich diesen PHP-Code interpretiere (ohne Tabulator), kommt folgendes raus:

---04CC#Aee#0854---Content-Type: text/plain;
Content-Transfer-Encoding: 8bit

Hier steht mein Plain Text---04CC#Aee#0854---Content-type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hier steht mein HTML---04CC#Aee#0854---

So funktioniert das nicht, der Trenner muss alleine in einer Zeile stehen. Allerdings deckt sich diese Interpretation nicht mit der Ausgabe, wie du sie darstellst.

Davon abgesehen habe ich einen Fehler gemacht: Die Trennmarkierung wird bei Nutzung durch zwei führende Bindestriche ergänzt. Heißt es "multipart/alternate; boundary=12345", muss es später im Text lauten

--12345
Content-Type: text/plain

bla

--12345
Content-Type: text/html

Der ganze Mechanismus ist in RFC 2046, Kapitel 5.1 beschrieben, dieses solltest du unbedingt lesen (auch wenn's schwer fällt).

Ich glaub ich mach grad irgendeinen total blöden Fehler den ich selber nicht seh ... :-(

Falls es nach dem Studium von RFC 2046 immer noch nicht funktioniert,
zitiere doch bitte mal den kompletten Quelltext der Mail, die bei dir ankommt. Einige Mailer haben dazu im Menü einen Punkt Ansicht > Quelltext (oder ähnlich), bei Outlook/Express musst du die Mail meines Wissens nach erst in einer Datei speichern (exportieren) und dann die Dateiendung von .eml in .txt ändern.