Trimiterea e-mailurilor cu PHP este cel mai bine implementată cu clase puternice precum PHPMailer . Funcțiile convenabile de împachetare fac posibilă utilizarea conținutului UTF-8, încorporarea imaginilor și trimiterea atașamentelor criptate cu doar câteva linii de cod. Dacă doriți să vă salvați cheltuielile generale și, spre deosebire de recomandare, utilizați funcția PHP mail () , veți întâmpina probleme la cel mai târziu când utilizați umlauturi și UTF-8.
După ce ați apelat funcția cu
mail(
"vieldav@gmx.de", // Empfänger
"ä ö ü ß", // Betreff
"ä ö ü ß", // Inhalt
"From: ä ö ü ß <david@vielhuber.de>" // Header (Absender)
);
într-un fișier codat UTF-8 duce deja la probleme în căsuța de e-mail: Outlook 2013 este încă grațios și afișează totul corect:
Dar GMX nu iartă antetele lipsă și arată un subiect, expeditor și conținut rău:
Dacă trimiteți anteturile corecte (de exemplu cu base64_encode), veți obține
mail(
"vieldav@gmx.de", // Empfänger
"=?UTF-8?B?".base64_encode("ä ö ü ß")."?=", // Betreff
"ä ö ü ß", // Inhalt
"Content-type: text/plain; charset=utf-8\r\n"
."From: =?UTF-8?B?".base64_encode("ä ö ü ß")."?=<david@vielhuber.de>" // Header (Absender)
);
și, în cele din urmă, GMX arată, de asemenea, o reprezentare corectă: