Hallo,
ich würde das aber gerne selber machen, und vorallem verstehen. nutze
nicht gern dinge von anderen leuten. zumindest nicht ohne ahnung davon
zu haben.
da habe ich doch auch nichts dagegen, aber hier steht zumindest schon mal in etwa wie es geht. Ich habe auch mein eigenes Script zusammengeschrieben - hat aber auch eine Weile gedauert und das mit dem Dateianhang habe ich mir auch hier abgeschaut. Am besten ist aber, du schickst dir selbst mal eine Mail mit Anhang und schaust dir den Quelltext (mit Headerzeilen) an --> im Outlook unter Datei -> Eigenschaften.
Wichtig für das Script ist der Teil:
// Datei einlesen und codieren:
$datei_content = fread(fopen($_FILES['probe']['tmp_name'],"r"),filesize($_FILES['probe']['tmp_name']));
$datei_content = chunk_split(base64_encode($datei_content),76,"\n");
// Boundary festlegen: (Trenner, der E-Mail-Bestandteile von einander trennt)
$boundary = md5(uniqid(rand()));
// Mail-Header:
$mail_header = "From: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "X-Sender-IP: ".$ip."\n";
$mail_header .= "MIME-Version: 1.0\n";
$mail_header .= "Content-Type: multipart/mixed; boundary="".$boundary.""\n";
$mail_header .= "This is a multi-part message in MIME format.\n";
// Mail-Text:
$mail_header .= "--".$boundary;
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n".$text;
// Attachment:
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: ".$_FILES['probe']['type']."; name="".$_FILES['probe']['name'].""";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename="".$_FILES['probe']['name'].""";
$mail_header .= "\n\n".$datei_content;
// Ende:
$mail_header .= "\n--".$boundary."--";
// Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
mail($mailto,$mail_subject,"",$mail_header)
Gruß
Thomas L.