net-board.net
Dateianhang mit PHP versenden. - Druckversion

+- net-board.net (http://net-board.net)
+-- Forum: Deine eigene Homepage (http://net-board.net/forumdisplay.php?fid=26)
+--- Forum: Scriptsprachen (+Datenbanksysteme) (http://net-board.net/forumdisplay.php?fid=19)
+---- Forum: Tutorials und Artikel: Programmieren und Datenbanken (http://net-board.net/forumdisplay.php?fid=15)
+---- Thema: Dateianhang mit PHP versenden. (/showthread.php?tid=5563)



Dateianhang mit PHP versenden. - KingGO - 14.05.2007

Dateianhang mit PHP versenden.

Ich habe selber eine ganze Zeit nach so einer Lösung gesucht und gesucht und gesucht ich denke mir mal es geht einigen genau wie mir hier habe ich eine Simple Lösung ich weiß nicht mehr ganz genau woher ichs hatte aber tut ja auch nix zur Sache, ich habe diesen Codeschnipsel erfolgreich getestet mit einer *.html endung.

Man muss diesen Sourcecode dementsprechend anpassen je nachdem was man anhängen will.

[code=php]
<?php
$file = "pfad/ordner/dateiname.endung";
$file_name = anhangname.html;
$from = "form@domain.de";
$to = to@domain.de;
$message = "Hallo 4name,\n Diese eMail wurde automatisch generiert weil ein neuer Plan eingestellt wurde, eine Kopie befindet sich im Anhang \n";
$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From: Anonymous <$from>\n";
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$mail_header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n$message";
$file_content = fread(fopen($file,"r"),filesize($file));
$file_content = chunk_split(base64_encode($file_content));
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: application/octetstream; name=\"$file_name\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
$mail_header .= "\n\n$file_content";
$mail_header .= "\n--$boundary--";
mail($to,"Betreff: $file_name",$message,$mail_header);
?>
[/code]