Hallo Zusammen,
ich versuche schon seit Stunden eine Email mit PDF als Anhang zu schicken.
Die Email wird auch mit Anhang verschickt, jedoch lässt sich das PDF-File nicht öffnen, weil es entweder, laut Acrobat Reader bedingt durch falsche Codierung zerstört ist, oder im Quellcode des PDFs die Emailnachricht steht.
Ich habe nun schon mehrere Foren und Threads durchforstet und mein PHP-Code entsprechend den Tipps angepasst.
Mit dem Ergebnis, dass die Email nun gar nicht vershcickt wird, da die Funktion "$data = chunk_split(base64_encode($data));" anscheinend ewig braucht / bei der Ausführung hängen bleibt.
Weiß jemand was ich falsch mache?
Danke und Gruß
Mika
//Email-Versandt für erfolgreichen Ablauf
function sendEmail1($empfaenger, $betreff, $absender, $text, $anhang) {
$to = "<$empfaenger>";
$subject = $betreff;
$boundary = strtoupper(md5(uniqid(time())));
$fp = fopen($anhang, 'r');
$data = fread($fp,filesize($anhang));
fclose($fp);
$data = chunk_split(base64_encode($data));
$header = "MIME-Version: 1.0\n";
$header .= "From: <$absender>\n";
$header .= "Content-Type: multipart/mixed; boundary=$boundary\n\n";
$header .= "This is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format\n";
$header .= "--$boundary\n";
$header .= "Content-Type: text/html\n";
$header .= "Content-Transfer-Encoding: 8bit\n\n";
$header .= "$text\n";
$header .= "--$boundary\n";
$header .= "Content-Type: application/pdf; name=$dateiname\n";
$header .= "Content-Transfer-Encoding: base64\n";
$header .= "Content-Disposition: attachment; filename=$dateiname\n\n";
$header .= $data."\n";
$header .= "--$boundary--\n";
if(mail($to, $subject, $message, $header)) {
$msg = '<br /><br /><span>Email wurde erfolgreich gesendet</span>';
}
else {
$msg = '<br /><br /><span class="failure">Email konnte nicht gesendet werden</span>';
}
return $msg;
}