Waarom komt mijn HTML e-mail binnen als plaintext?
Wanneer je op je website een mailscript gebruikt, waarin je HTML-mail verstuurd, maar deze als plaintext binnenkomt bij sommige clients (bijvoorbeeld Microsoft Outlook 2007, Microsoft Outlook 2010 en Thunderbird 24.2.0), dan kan dat liggen aan het verkeerd opgeven van de mailheaders.
Voorbeeld van foutieve PHP code:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: jouw-eigen-domein <info@jouw-eigen-domein.nl>\r\n";
Wat het zou moeten zijn:
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: jouw-eigen-domein <info@jouw-eigen-domein.nl>\n";
In het foutieve voorbeeld wordt er een combinatie van een carriage return ( de \r) en een newline (de \n) gebruikt. Dit wordt door verschillende e-mail clients niet goed geïnterpreteerd. De oplossing is dus om enkel de newline (de \n) te gebruiken en alle mail zal weer in HTML worden weergegeven.