Hallo Board!
Bin am Verzweifeln: ich möchte ein Attachement an eine E-Mail anhängen. Unten mein Code. Folgendes passiert:
- der Anhang wird in bspw. Outlook angezeigt (okay)
- der Anhang hat die richtige Dateigröße (okay)
- der Anhang kann nicht dargestellt werden (z.B. in Excel sehe ich statt den ursprümglichen Daten nur Zeichen)
- die Nachricht ($_POST['message1'] wird mir ebenfalls - wo wir gerade bei Excel sind - in der ersten Excelzelle angezeigt
Bitte um Hilfe!
MfG
mo-nulllzwo
Bin am Verzweifeln: ich möchte ein Attachement an eine E-Mail anhängen. Unten mein Code. Folgendes passiert:
- der Anhang wird in bspw. Outlook angezeigt (okay)
- der Anhang hat die richtige Dateigröße (okay)
- der Anhang kann nicht dargestellt werden (z.B. in Excel sehe ich statt den ursprümglichen Daten nur Zeichen)
- die Nachricht ($_POST['message1'] wird mir ebenfalls - wo wir gerade bei Excel sind - in der ersten Excelzelle angezeigt
Bitte um Hilfe!
MfG
mo-nulllzwo
PHP-Code:
if(isset($_POST['sendmail'])) // Nachricht wird verschickt (nicht geschrieben!)
{
/*if(empty($_POST['to1']) or empty($_POST['subject1']) or empty($_POST['message1']))
{
$angaben_unvollstaendig=1;
}
else
{*/
if(!empty($_FILES['attachement']['name']))
{
$boundary = strtoupper(md5(uniqid(time())));
$header .= "MIME-Version: 1.0";
$header .= "\nContent-Type: multipart/mixed; boundary=\"$boundary\"";
$header .= "\n\nThis is a multi-part message in MIME format\n".
"Dies ist eine mehrteilige Nachricht im MIME-Format\n";
$header .= "\n--$boundary";
$header .= "\nContent-Type: text/plain";
$header .= "\nContent-Transfer-Encoding: 8bit";
$FileName=$_FILES['attachement']['name'];
$FileName=$_FILES['attachement']['name'];
$fd=fopen($_FILES['attachement']['tmp_name'], "r");
$FileContent=fread($fd,filesize($_FILES['attachement']['tmp_name']));
fclose ($fd);
$FileContent = chunk_split(base64_encode($FileContent));
$_POST['message1'].=$FileContent;
$header .= "\n--$boundary";
$header .= "\nContent-Type: application/octetstream;".
"\n name=\"".$FileName."\"";
$header .= "\nContent-Transfer-Encoding: base64";
$header .= "\nContent-Disposition: inline;".
"\n filename=\"".$FileName."\"";
//$header .= "\n$FileContent";
}
$sendmail_okay=imap_mail($_POST['to1'], $_POST['subject1'], $_POST['message1'], $header, $_POST['copy1'], $_POST['copy2'], $_POST['returnpath1']);
if($sendmail_okay)
{
echo "Nachricht(en) wurde erfolgreich gesendet <p>";
echo "<a href=\"".$_SERVER['PHP_SELF']."?list=1\">Übersicht</a>";
}
else
{
echo "Fehler";
}
//}
}