Ich habe eine kleine Webapplikation entworfen, die aus einem Formular eine Email generiert und verschickt. Es handelt sich dabei um eine HTML Email mit 1 oder 2 Bilddateianhängen.
Ich habe mir grösste Mühe gegeben und sorgfälltig recherchiert, um sauberen MIME-Code zu schreiben. Dennoch habe ich ein recht merkwürdiges Problem:
Die so generierten Emails sind problemlos lesbar mit jedem Outlook.
Doch derjenige, für den ich das gemacht habe, verwendet eine Komplettlösung names "FlowFact" um Emails zu empfangen und zu lesen.
Und mit diesem Email Client entsteht genau dann ein Problem, wenn die Email 2 Bilder angehängt hat. Wenn nur 1 Bild angehängt ist, klappt alles wunderbar, aber sobald ein zweites dranhängt, wird der HTML-Teil nicht mehr als HTML erkannt, sondern einfach ein blank screen angezeigt. Erst wenn man den raw code anschaut, sieht man wieder die Daten (welche also vorhanden sind, nur nicht als HTML erkannt werden).
Da es mir völlig rätselhaft ist woran das liegen kann und vor allem wo der Zusammenhang mit einem 2ten Bild und dem HTML-Teil liegt stelle ich hier das relevante Code-Stück zur Verfügung und hoffe, dass jemand den Fehler findet, der mir verborgen bleibt (bzw. wenn kein Fehler in meinem Code ist, habe ich die Sicherheit dass es an FlowFact liegt).
...
...
-------------
Herzlichen Dank für jeden Hinweis!
MfG
Bertram Weckmann
Ich habe mir grösste Mühe gegeben und sorgfälltig recherchiert, um sauberen MIME-Code zu schreiben. Dennoch habe ich ein recht merkwürdiges Problem:
Die so generierten Emails sind problemlos lesbar mit jedem Outlook.
Doch derjenige, für den ich das gemacht habe, verwendet eine Komplettlösung names "FlowFact" um Emails zu empfangen und zu lesen.
Und mit diesem Email Client entsteht genau dann ein Problem, wenn die Email 2 Bilder angehängt hat. Wenn nur 1 Bild angehängt ist, klappt alles wunderbar, aber sobald ein zweites dranhängt, wird der HTML-Teil nicht mehr als HTML erkannt, sondern einfach ein blank screen angezeigt. Erst wenn man den raw code anschaut, sieht man wieder die Daten (welche also vorhanden sind, nur nicht als HTML erkannt werden).
Da es mir völlig rätselhaft ist woran das liegen kann und vor allem wo der Zusammenhang mit einem 2ten Bild und dem HTML-Teil liegt stelle ich hier das relevante Code-Stück zur Verfügung und hoffe, dass jemand den Fehler findet, der mir verborgen bleibt (bzw. wenn kein Fehler in meinem Code ist, habe ich die Sicherheit dass es an FlowFact liegt).
...
PHP-Code:
$grenze="**************************";
$name_des_bildes=$bildname;
$headers="From: [email]admin@bweckmann.de[/email]\n";
$headers.="MIME-Version: 1.0\n";
$headers.="Content-Type: multipart/mixed; boundary=$grenze\n";
// HTML-Teil
$botschaft="\n--$grenze\n";
$botschaft.="Content-type: text/html\n";
$botschaft.="Content-transfer-encoding: 7BIT\n\n";
$botschaft.= "$inhalt\n\n";
// 1. Bild
$botschaft.="--$grenze\n";
$botschaft.="Content-Type: application/octetstream;\n\tname=$name_des_bildes\n";
$botschaft.="Content-Transfer-Encoding: base64\n";
$botschaft.="Content-Disposition: attachment;\n\tfilename=$name_des_bildes\n\n";
$zeiger_auf_datei=fopen("images/temp/$bildname","rb");
$inhalt_der_datei=fread($zeiger_auf_datei,filesize("images/temp/$bildname"));
fclose($zeiger_auf_datei);
$inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
$botschaft.=$inhalt_der_datei;
$botschaft.="\n\n";
// 2. Bild (nur wenn $logoname existiert)
$botschaft.="--$grenze\n";
if ($logoname){
$botschaft.="Content-Type: application/octetstream;\n\tname=$logoname\n";
$botschaft.="Content-Transfer-Encoding: base64\n";
$botschaft.="Content-Disposition: attachment;\n\tfilename=$logoname\n\n";
$zeiger_auf_datei=fopen("images/temp/$logoname","rb");
$inhalt_der_datei=fread($zeiger_auf_datei,filesize("images/temp/$logoname"));
fclose($zeiger_auf_datei);
$inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
$botschaft.=$inhalt_der_datei;
$botschaft.="\n\n";
$botschaft.="--$grenze";
}
mail("***@*******","Test",$botschaft,$headers);
-------------
Herzlichen Dank für jeden Hinweis!
MfG
Bertram Weckmann
Kommentar