Hallo zusammen,
ich möchte nach wie vor eine Email mit Anhang auf meinem lokalen Intranet Server verschicken. Die Datei kommt aber zerschnossen an. Mittlerweile habe ich rausgefunden, dass die Funktion base64_encode() unter Win32 nicht in Ordnung ist. Ich habe also mittlerweile eine Datei base64.exe (gefunden bei http://www.fourmilab.ch/) installiert und versuche jetzt mit diesem Code...
das ganze abzuschicken. Will aber auch nicht funktionieren. Ich vermute diesmal, dass die Umwandlung mit base64.exe nicht korrekt funktioniert. Kann mir jemand auf die Sprünge helfen? Es muss doch irgendwie möglich sein, unter WAMP eine Mail mit Binary Anhang zu senden...
ich möchte nach wie vor eine Email mit Anhang auf meinem lokalen Intranet Server verschicken. Die Datei kommt aber zerschnossen an. Mittlerweile habe ich rausgefunden, dass die Funktion base64_encode() unter Win32 nicht in Ordnung ist. Ich habe also mittlerweile eine Datei base64.exe (gefunden bei http://www.fourmilab.ch/) installiert und versuche jetzt mit diesem Code...
PHP-Code:
function mybase64_encode($s) {
$tmpfname = $s .".tmp";
$fp = fopen($tmpfname, "w+");
if ( $fp ) {
fwrite ($fp, $s);
fclose($fp);
exec("D:/Apache/Apache/bin/base64.exe -e " . $tmpfname . " " . $tmpfname . ".b64");
$fp = fopen($tmpfname . ".b64", "r");
$contents = fread($fp,filesize($tmpfname . ".b64"));
fclose($fp);
unlink($tmpfname);
unlink($tmpfname . ".b64");
return($contents);
}
}
$file = "test.xls";
$file_name = "test.xls";
$subject = "Testmail";
$from = "Martin Medler <martin@medler.de>";
$to = "martin@medler.de";
$message = "Dies ist ein Test";
$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From:" . $from . "\r\n";
$mail_header .= "MIME-Version: 1.0\r\n";
$mail_header .= "Content-Type: multipart/mixed; boundary=$boundary\r\n\r\n";
$mail_header .= "This is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format\r\n";
$mail_header .= "--$boundary\r\n";
$mail_header .= "Content-Type: text/plain\r\n";
$mail_header .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$mail_header .= "$message\r\n\r\n";
mybase64_encode($file);
$mail_header .= "--$boundary\r\n";
$mail_header .= "Content-Type: application/x-excel; name=\"$file_name\"\r\n";
$mail_header .= "Content-Transfer-Encoding: base64\r\n";
$mail_header .= "Content-Disposition: attachment; filename=\"$file_name\"\r\n\r\n";
$mail_header .= "$contents\r\n\r\n";
$mail_header .= "--$boundary--";
mail($to,$subject,"",$mail_header);
Kommentar