habe da mal wieder ein Problem wie der Titel schon sagt.
Ich erstelle eien Textdatei welche ich als Anhang per E-Mail verschicken möchte. Das ist kein Problem, soll heisen die Datei wird korrekt erstellt mit korrektem Namen und Inhalt.
Wenn ich mir jetzt aber den Header für die baue, wird der codierte Datei-Inhalt als E-Mail-Body dargestellt und nicht in einer TXT-Datei als Anhang. Die Datei fehlt ganz.
Hier der Header den ich baue:
- Code: Select all
<?
$Trenner = md5(uniqid(time()));
$header = "Date: " . date("r",time());
$header .= "\n";
$header .= "MIME-Version: 1.0";
$header .= "\n";
$header .= "Content-type: text/plain; charset=iso-8859-1;";
$header .= "\n";
$header .= "From: ***";
$header .= "\n";
$header .= "To: ***";
$header .= "\n";
$header .= "Reply-To: ***";
$header .= "\n";
$header .= "Subject: Neue Bestellung";
$header .= "\n";
$header .= "--$Trenner";
$header .= "\n";
$header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$header .= "\n";
$header .= "Content-Transfer-Encoding: 8bit";
$header .= "\n";
$header .= "Content-Type: text/plain; name=" . $file_name;
$header .= "\n";
$header .= "Content-Transfer-Encoding: base64";
$header .= "\n";
$header .= "Content-Disposition: attachment; filename=" . $file_name;
$header .= "\n";
$header .= chunk_split(base64_encode(fread(fopen("file_tmp/" . $file_name, "rb"), filesize("file_tmp/" . $file_name))));
$header .= "\n";
$header .= "--$Trenner";
$header .= "\n";
?>
Der Dateiname wird korrekt in der Variablen $file_name übergeben.
Vielleicht sehe ich ja vor lauter Bäumen den Wald nicht, aber ich finde den Fehler nicht. Hier noch ein Screenshot wie die E-Mail aussieht. Klick
Bitte helft mir.
Danke schon im Vorraus.
Kai aka Knight1