我使用php内部邮件功能发送邮件,我把它封装在一个函数里面,在UTF8的过程中,我发现它在线。PHP UTF8邮件在iPhone邮件应用程序中出现乱码
它的工作原理是,我将代码中的电子邮件发送到我的GMAIL和我的EXCHANGE服务器,无论是GMAIL还是我PC上的Outlook客户端,我都收到了正确的消息。
我的iPhone也连接到Exchange和GMAIL帐户,所以我在iPhone上同时收到这两条消息。 iPhone正确收到GMAIL消息,但EXCHANGE帐户显示带有乱码乱码文本的消息,其中没有拉丁字符。
下面的示例在主题和正文中发送希伯来字符。在我的iPhone上,主题以希伯来语正确接收,但信息正文中的希伯来语部分出现乱码。
任何人都可以对此发表评论吗?也许尝试在你自己的设置?
感谢,
<?php
function mail_utf8($to, $subject = '(No subject)', $message = '', $header = '') {
$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);
}
$mymessage = "Hello <BR>";
$mymessage.= "Received: now<BR/><BR/>";
$mymessage.= "details: שלום שלום<BR/><BR/>";
mail_utf8 ("[email protected],[email protected]", "שלום", $mymessage, "my_mail", "[email protected]");
?>
顺便说一句,我不认为你需要的'
发送'text/plain'电子邮件时,'PHP_EOL'可能会更好。 – Czechnology 2011-03-04 12:36:44
其实我想发送HTML,我只是复制了错误的头在这个例子中 – 2011-03-04 13:29:39