nchristoph
Erfahrenes Mitglied
Hallo zusammen,
ich bin am arbeiten einer Mailfunktion mit Anhang.
Leider funktioniert das mit der HTML Mail nicht so, wie gedacht.
Jegliche Formatierung wird ignoriert.
Muss ich da etwas spezielles beachten?
Der Header wird so zusammengesetzt:
Die Mail wird versendet, der Typ ist auf HTML, jegliche Formatierung mittels CSS wird aber ignoriert.
Gibt es da einen einfachen Weg?
Grüsse
//edit:
Ich hab den Fehler eingrenzen können. Outlook schneidet beim Style das weg: "f
Muss ich da was escapen?
ich bin am arbeiten einer Mailfunktion mit Anhang.
Leider funktioniert das mit der HTML Mail nicht so, wie gedacht.
Jegliche Formatierung wird ignoriert.
PHP:
$text = "<html>";
$text .= "<head></head>";
$text .= "<body>";
$text .= '<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">';
$text .= nl2br($_POST['text']);
$text .= "<br />Mit freundlichen Grüßen<br />";
$text .= "<br />";
$text .= $name."<br />";
$text .= $verkauf."<br /><br />";
$text .= "Keplinger GmbH<br />";
$text .= "A-4050 Traun, Rubensstrasse 36<br/>";
$text .= "[t] +43 7229 736 31 ".$dw."<br />";
$text .= "[f] +43 7229 / 712 20<br />";
$text .= "[e] ".$from."<br />";
$text .= "[w] www.keplinger.at</span><br /><br />";
$text .= 'Firmenbuch-Nr.: 149122 y, Landesgericht Linz, ATU60522429\n';
$text .= '</body><br />';
$text .= '</html><br />';
Muss ich da etwas spezielles beachten?
Der Header wird so zusammengesetzt:
PHP:
function mail_attachment( $path, $mailto, $from_mail, $replyto, $subject, $message, $fromname) {
$file = $path;
$file_size = filesize($file);
$handle = fopen($file, "r");
$content = fread($handle, $file_size);
fclose($handle);
$suchmuster = "&./Masslisten/&";
$ersetzung = '';
$datei = preg_replace($suchmuster, $ersetzung, $file);
$pattern = "&/&";
$replace = " ";
$datei_2 = preg_replace($pattern, $replace, $datei);
$pattern_2 = "& &";
$replace_2 = "_";
$datei_3 = preg_replace($pattern_2, $replace_2, $datei_2);
$content = chunk_split(base64_encode($content));
$uid = md5(uniqid(time()));
$name = basename($file);
$header = "From: ".$fromname." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/html; charset=utf-8\r\n";
$header .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";
$header .= $message."\r\n\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-Type: application/octet-stream; name=\"".$datei_3."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$datei_3."\"\r\n\r\n";
$header .= $content."\r\n\r\n";
$header .= "--".$uid."--";
if($mailto != ""){
if (mail($mailto, $subject, "", $header)) {
echo "Mail wurde an ".$mailto." versendet";
} else {
echo "Mail Versand Fehlgeschlagen!";
}
}
else{
echo"Kein Absender vorhanden<br />";
echo"Mail Versand fehlgeschlagen";
}
}
Die Mail wird versendet, der Typ ist auf HTML, jegliche Formatierung mittels CSS wird aber ignoriert.
Gibt es da einen einfachen Weg?
Grüsse
//edit:
Ich hab den Fehler eingrenzen können. Outlook schneidet beim Style das weg: "f
Muss ich da was escapen?
Zuletzt bearbeitet: