Problema de formato de correo PHP: ¿por qué los finales de línea de encabezado CRLF rompen el correo electrónico HTML en Outlook?

Estoy usando el PHP nativomail() función para enviar correos electrónicos HTML y tener un problema de formato en el cliente de correo electrónico más común de los usuarios:Outlook 2007 (además de algunos otros clientes de correo electrónico): todas las etiquetas html están expuestas, por lo que parece un galimatías para un desarrollador que no sea web.

Estoy enviando un correo electrónico HTML de la misma manera que elManual PHP lo demuestra. Ejemplo:

$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);

Debido a que probar varios clientes de correo electrónico es difícil, me he registrado conhttp://litmusapp.com/ así puedo ver una captura de pantalla de los correos electrónicos en 47 clientes de correo electrónico diferentes. La mayoría están bien (por ejemplo, gmail, thunderbird, Lotus Notes) pero todas las diferentes versiones de Outlook no están bien.

Para solucionar el problema de formato, hice lo siguiente:

Eliminar el$headers = "MIME-Version: 1.0\r\n"; encabezado de correoAsegúrese de terminar mis encabezados con solo "\n" en vez de "\r\n".

¿Alguien sabe por qué obtengo mejores resultados con los correos electrónicos HTML cuando no cumplo con el manual?

Información:

Estoy usandosufijo versión 2.3.3 en RHEL 5.5.PHP versión 5.3.2

Respuestas a la pregunta(4)

Su respuesta a la pregunta