Hallo,
Ich möchte eine Email mit Anhang versenden und habe dazu ein PNG auf meinen Server hochgeladen. Schicke ich eine Email mit dem PNG aber dann an mich kann die Datei nicht geöffnet werden, da sie angeblich fehlerhaft ist. Wenn ich mir die Dateien in vim anschaue, sind die komplett anders. (Siehe Bilder).
Was mache ich falsch?
Mein Skript:
Ich möchte eine Email mit Anhang versenden und habe dazu ein PNG auf meinen Server hochgeladen. Schicke ich eine Email mit dem PNG aber dann an mich kann die Datei nicht geöffnet werden, da sie angeblich fehlerhaft ist. Wenn ich mir die Dateien in vim anschaue, sind die komplett anders. (Siehe Bilder).
Was mache ich falsch?
Mein Skript:
PHP-Code:
<?PHP
$emailtext = nl2br($_POST['emailtext']);
$titel = $_POST['titel'];
$random_hash = md5(date('r', time()));
// Header erzeugen
$header = "From:…\r\n";
$header .= "return-path:…\n";
$header .= "Content-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
$dateiname = 'bild.png';
$attachment = chunk_split(base64_encode(file_get_contents($dateiname)));
$sql = 'SELECT * FROM '.$mysql_prefix.'newsletter WHERE nl_aktiv=1';
$erg = mysql_query($sql);
while ($l = mysql_fetch_assoc($erg)) {
ob_start();
echo '--PHP-mixed-'.$random_hash."\n";
echo 'Content-Type: multipart/alternative; boundary="PHP-alt-'.$random_hash.'"'."\n";
echo '--PHP-alt-'.$random_hash.''."\n";
echo 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
echo 'Content-Transfer-Encoding: 7bit'."\n";
echo 'Guten Tag '.$l['nl_name'].',<br /><br />'.strip_tags($_POST['emailtext']).'<br /><br /><br /><br />Wenn Sie den Newsletter abbestellen möchten, klicken Sie bitte <a href="'.$url_zu_basisordner.'index.php?spezial=newsletter4&id='.$l['nl_id'].'&name='.md5($l['nl_name']).'">hier</a>.';
echo '--PHP-alt-'.$random_hash.''."\n";
echo 'Content-Type: text/html; charset="iso-8859-1"'."\n";
echo 'Content-Transfer-Encoding: 7bit'."\n";
echo 'Guten Tag '.$l['nl_name'].',<br /><br />'.$emailtext.'<br /><br /><br /><br />Wenn Sie den Newsletter abbestellen möchten, klicken Sie bitte <a href="'.$url_zu_basisordner.'index.php?spezial=newsletter4&id='.$l['nl_id'].'&name='.md5($l['nl_name']).'">hier</a>.';
echo '--PHP-alt-'.$random_hash.'--'."\n";
echo '--PHP-mixed-'.$random_hash."\n";
echo 'Content-Type: image/png; name="'.$dateiname.'" '."\n";
echo 'Content-Transfer-Encoding: base64'."\n";
echo 'Content-Disposition: attachment'."\n";
echo $attachment;
echo '--PHP-mixed-'.$random_hash.'>--';
$message = ob_get_clean();
// eMail senden
mail ($l['nl_email'], $titel, $message, $header);
echo '<br />Senden an: '.$l['nl_name'];
}
echo '<br /><br />Alle Emails verschickt!';
?>


Kommentar