Afsendelse af e-mails med PHP implementeres bedst med kraftige klasser såsom PHPMailer . Praktiske indpakningsfunktioner gør det muligt at bruge indhold i UTF-8, at integrere billeder og sende krypterede vedhæftede filer med blot nogle få linjer kode. Hvis du vil spare dig selv for omkostningerne og i modsætning til anbefalingen bruge PHP-funktionen mail () , vil du løbe ind i problemer, når du bruger umlauts og UTF-8 senest.
Efter at have ringet til funktionen med
mail(
"vieldav@gmx.de", // Empfänger
"ä ö ü ß", // Betreff
"ä ö ü ß", // Inhalt
"From: ä ö ü ß <david@vielhuber.de>" // Header (Absender)
);
i en UTF-8-kodet fil fører allerede til problemer i indbakken: Outlook 2013 er stadig elskværdig og viser alt korrekt:
Men GMX tilgiver ikke de manglende overskrifter og viser et dårligt emne, afsender og indhold:
Hvis du sender de korrekte overskrifter (for eksempel med base64_encode), får du det
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)
);
og til sidst viser GMX en korrekt repræsentation: