UTF-8 жана umlauts менен PHPде почта ()

PHP менен электрондук почта билдирүүлөрүн жөнөтүү , PHPMailer сыяктуу күчтүү класстар менен жакшы жүргүзүлөт. Ыңгайлуу ором функциялары UTF-8 мазмунун колдонууга, сүрөттөрдү жайгаштырууга жана шифрленген тиркемелерди бир нече сап код менен жөнөтүүгө мүмкүндүк берет. Эгерде сиз өзүңүздү ашыкча чыгымдан сактап, PHP функциясын () сунуштамага каршы колдонууну кааласаңыз, анда umlauts жана UTF-8ди колдонууда эң акыркы көйгөйлөр жаралат.


Функцияны чакыруу менен

mail(
   "vieldav@gmx.de",                          // Empfänger
   "ä ö ü ß",                                 // Betreff
   "ä ö ü ß",                                 // Inhalt
   "From: ä ö ü ß <david@vielhuber.de>"       // Header (Absender)
);

UTF-8 менен коддолгон файлды колдонуу кирүүчү кутучада көйгөйлөрдү жаратууда: Outlook 2013 дагы эле ырайымдуу жана баарын туура көрсөтөт.:

mail1

Бирок GMX жоголгон баш аталыштарды кечирбейт жана жаман теманы, жөнөтүүчүнү жана мазмунду көрсөтөт:

mail2

Эгер сиз туура баш аталыштарын жөнөтсөңүз (мисалы base64_encode менен), сиз аласыз

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)
);

жана, акыры, GMX да туура өкүлчүлүгүн көрсөтөт:

mail3

Артка