PHP-Mail-Formatierungsproblem - Warum brechen CRLF-Kopfzeilenenden HTML-E-Mails in Outlook?
Ich benutze das native PHPmail()
-Funktion zum Versenden von HTML-E-Mails und bei Formatierungsproblemen im häufigsten E-Mail-Client des Benutzers -Outlook 2007 ( zusätzlich zu einigen anderen E-Mail-Clients) - Alle HTML-Tags werden angezeigt, so dass es für einen Nicht-Web-Entwickler wie Kauderwelsch aussieht.
Ich sende HTML-E-Mails auf dieselbe Weise wiePHP manual Demos es. Beispiel
$message = get_HTML_email_with_valid_formatting();
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "From: example.com <[email protected]>\r\n";
$headers .= "Reply-To: [email protected]\r\n";
mail('[email protected]', 'test', $message, $headers);
Da das Testen verschiedener E-Mail-Clients schwierig ist, habe ich mich bei @ angemeldehttp: //litmusapp.com so kann ich einen Screenshot der E-Mails in 47 verschiedenen E-Mail-Clients sehen. Die meisten sind in Ordnung (z. B. Google Mail, Thunderbird, Lotus Notes), aber die verschiedenen Outlook-Versionen sind nicht in Ordnung.
Um das Formatierungsproblem zu beheben, habe ich Folgendes ausgeführt:
Entferne das$headers = "MIME-Version: 1.0\r\n";
mail header. Sicherstellen, dass ich meine Header nur mit "@" been\n
" Anstatt von "\r\n
".Weiß jemand, warum ich mit HTML-E-Mails bessere Ergebnisse erhalte, wenn ich mich nicht an das Handbuch halte?
Die Info
Ich benutze postfix Version 2.3.3 auf RHEL 5.5.PHP Version 5.3.2