Mengirim email dengan PHP paling baik diimplementasikan dengan kelas-kelas yang kuat seperti PHPMailer . Fungsi pembungkus yang nyaman memungkinkan untuk menggunakan konten UTF-8, menyematkan gambar, dan mengirim lampiran terenkripsi hanya dengan beberapa baris kode. Jika Anda ingin menghemat overhead dan menggunakan fungsi PHP mail () yang bertentangan dengan rekomendasi, Anda akan mengalami masalah saat menggunakan umlauts dan UTF-8 paling lambat.
Setelah memanggil fungsi dengan
mail(
"vieldav@gmx.de", // Empfänger
"ä ö ü ß", // Betreff
"ä ö ü ß", // Inhalt
"From: ä ö ü ß <david@vielhuber.de>" // Header (Absender)
);
dalam file berenkode UTF-8 sudah menyebabkan masalah di kotak masuk: Outlook 2013 masih ramah dan menampilkan semuanya dengan benar:
Namun GMX tidak memaafkan header yang hilang dan menampilkan subjek, pengirim, dan konten yang buruk:
Jika Anda mengirim header yang benar (misalnya dengan base64_encode), Anda mendapatkan
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)
);
dan akhirnya GMX menunjukkan representasi yang benar: