Hallo,
ich habe ein Problem mit dem versenden einer Datei per Mail.
Folgendes habe ich mir zurecht gebastelt:
[…
//Anhang speichern
$uploaddir = '../newsletter/';
$uploadfile = $uploaddir. $_FILES['datei']['name'];
move_uploaded_file($_FILES['datei']['tmp_name'], $uploadfile);
//verschicken einer Mail inkl. Datei
$grenze="grenzlinie";
$name_des_bildes=$HTTP_POST_FILES['datei']['name'];
$headers ="MIME-Version: 1.0\r\n";
$headers.="From: $autor\n";
$headers.="Content-Type: multipart/mixed;\n\tboundary=$grenze\n";
$botschaft="\n--$grenze\n";
$botschaft.="Content-transfer-encoding: 7BIT\r\n";
$botschaft.="Content-type: text/plain\n\n";
$botschaft.= $mailtext;
$botschaft.="\n\n";
$botschaft.="\n--$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("$uploadfile","rb");
$inhalt_der_datei=fread($zeiger_auf_datei,filesize("$uploadfile"));
fclose($zeiger_auf_datei);
$inhalt_der_datei=chunk_split(base64_encode($inhalt_der_datei));
$botschaft.=$inhalt_der_datei;
$botschaft.="\n\n";
$botschaft.="--$grenze";
mail($mailadresse,$betreff,$botschaft,$headers);
...]
Beim selektieren einer test.pdf-Datei bekommt der Empfänger die Mail mit ZWEI Anhängen! Die erste Datei trägt den Namen "ATT00001", der zweite Anhang "ATT00002.txt". Also keine pdf-Datei kommt an, und auch der Ursprungsname "test.pdf" taucht nirgens auf. Wenn ich die 1. Datei speichere und manuell die Endung pdf anfüge, kann ich die Datei öffnen. Das ist aber ja nicht das Ziel.
Hat jemand eine hilfreiche Idee?
Vielen Dank!