ارسال ایمیل با 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 هنوز لطف دارد و همه چیز را به درستی نمایش می دهد:
اما GMX عناوین گمشده را نمی بخشد و موضوع ، فرستنده و محتوای بدی را نشان می دهد:
اگر هدرهای صحیح را ارسال کنید (به عنوان مثال با 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 نمایش صحیحی را نشان می دهد: