Hallo Leute!
Es geht um MIME-Mails. Ich mache irgendwie noch einen Fehler bei der Trennung von plain-text und attachment. Bei Yahoo Mail kommt es folgendermaßen an:
mein code nach dem splitten und codieren lautet:
Da wird doch alles sauber getrennt. das Komische ist, dass wenn ich statt die Mail zu verschicken, das Ergebnis mittels
in eine .eml-Datei schreib und die mit Outlook Express aufmache, wird das Attachment korrekt angezeigt. Bloß online funzt es nicht. Woran kann das liegen? Oder hat das was mit Yahoo zu tun? Aber dort werden Attachments doch auch normal angezeigt... *grübel*
HE
Es geht um MIME-Mails. Ich mache irgendwie noch einen Fehler bei der Trennung von plain-text und attachment. Bei Yahoo Mail kommt es folgendermaßen an:
PHP-Code:
Datum: Mon, 5 Aug 2002 15:48:41 +0200
Von: "Nobody" <nobody@merkur.kasserver.com>
An: [email]kernsynthesewaffe@yahoo.de[/email]
Betreff: Bestandsprotokoll HTML von Vorname Name
MIME-Version 1.0
Content-Type: multipart/mixed; boundary="BOUND"
From: Vorname Name - [email]name@name.de[/email]
--BOUND
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
#### hier folgt der Textteil ####
--BOUND
Content-Type: text/html; name="Bestandsprotokoll_Vorname"_"Name.htm"
Content-Description: "Bestandsprotokoll"
Content-Transfer-Encoding: base64
Content-Disposition: attachment
#### jetzt das Attachment als ASCII-Kauderwelsch ###
DQo8Ym9keSBiZ2NvbG9yPSIjQzJDMkQ2Ij4NCjxkaXYgYWxpZ249ImNlbnRlciI+IA0KICA8cCBh....................und so weiter
PHP-Code:
$empfaenger="kernsynthesewaffe@yahoo.de";
$betreff="Bestandsprotokoll HTML von ".$vorname." ".$name;
$nachricht="Datum und Uhrzeit dieses Protokolls: ".date("d.m.Y")." um ".date("H:i")."\r\n"
."Absender: ".$vorname." ".$name."\r\n Das Bestandsprotokoll folgt als Anhang an diese Mail!";
$absender="From: ".$vorname." ".$name." - ".$email."\n";
# Header
$header="MIME-Version 1.0\r\n"
."Content-Type: multipart/mixed; boundary=\"BOUND\" \r\n"
."$absender";
# mailbody
$body="\r\n\r\n"
."--BOUND\r\n"
."Content-Type: text/plain; charset=iso-8859-1 \r\n"
."Content-Disposition: inline \r\n"
."Content-Transfer-Encoding: 7bit \r\n"
."\r\n"
."$nachricht \r\n"
."\r\n"
."--BOUND\r\n"
."Content-Type: text/html; name=\"Bestandsprotokoll_$vorname\"_\"$name.htm\" \r\n"
."Content-Description: \"Bestandsprotokoll\" \r\n"
."Content-Transfer-Encoding: base64 \r\n"
."Content-Disposition: attachment \r\n"
."\r\n"
."$attachment \r\n"
."\r\n"
."--BOUND \r\n";
# Prüfvariable einrichten
$abgesendet=
@mail($empfaenger, $betreff, $body, $header);
PHP-Code:
$senden="$header"."$body"."$absender";
$datei=fopen("Bestandsprotokoll.eml","w+");
fputs($datei,$senden);
fclose($datei);
HE
Kommentar