PHP ile e-posta göndermek en iyi PHPMailer gibi güçlü sınıflarla uygulanır. Kullanışlı sarmalayıcı işlevleri, UTF-8 içeriğini kullanmayı, görüntüleri yerleştirmeyi ve şifreli ekler yalnızca birkaç satır kodla göndermeyi mümkün kılar. Ek yükten tasarruf etmek ve tavsiyenin aksine mail () PHP işlevini kullanmak istiyorsanız, en geç çift nokta ve UTF-8 kullanırken sorunlarla karşılaşacaksınız.
Fonksiyonu ile çağırdıktan sonra
mail(
"vieldav@gmx.de", // Empfänger
"ä ö ü ß", // Betreff
"ä ö ü ß", // Inhalt
"From: ä ö ü ß <david@vielhuber.de>" // Header (Absender)
);
UTF-8 ile kodlanmış bir dosyada zaten gelen kutusunda sorunlara yol açıyor: Outlook 2013 hala zarif ve her şeyi doğru gösteriyor:
Ancak GMX, eksik başlıkları affetmez ve kötü bir konu, gönderen ve içerik gösterir:
Doğru başlıkları gönderirseniz (örneğin, base64_encode ile),
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)
);
ve son olarak, GMX de doğru bir gösterimi gösterir: