Problema de formatação de correio PHP - Por que as terminações de linha de cabeçalho CRLF quebram emails em HTML no Outlook?
Estou usando o nativo do PHPmail()
função para enviar emails em HTML e ter um problema de formatação no cliente de email mais comum dos usuários -Outlook 2007 (além de alguns outros clientes de email) - todas as tags html são expostas para que pareçam sem sentido para um desenvolvedor que não é da Web.
Estou enviando email em HTML da mesma maneira que oManual PHP demos. Exemplo:
$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);
Como testar vários clientes de email é difícil, eu me inscrevi nohttp://litmusapp.com/ para que eu possa ver uma captura de tela dos emails em 47 clientes de email diferentes. A maioria está ok (por exemplo, gmail, thunderbird, Lotus Notes), mas todas as versões diferentes do Outlook não estão ok.
Para corrigir o problema de formatação, fiz o seguinte:
Remova o$headers = "MIME-Version: 1.0\r\n";
cabeçalho de correio.Certifique-se de terminar meus cabeçalhos com apenas "\n
" ao invés de "\r\n
"Alguém sabe por que estou obtendo melhores resultados com emails em HTML quando não estou em conformidade com o manual?
Informações:
estou a usarpostfix versão 2.3.3 no RHEL 5.5.PHP versão 5.3.2