Mos*_*ano 6 php email iphone utf-8
我正在使用php内部邮件功能发送邮件,我把它包装在UTF8的一个功能过程中,我在网上发现了它.
它有效,我将代码中的电子邮件发送到我的GMAIL和我的EXCHANGE服务器,无论是在GMAIL还是我的PC上的Outlook客户端,我都得到了正确的信息.
我的iPhone也连接到交换机和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 ("XXX@gmail.com,XXX@exchangeServer.com", "????", $mymessage, "my_mail", "mailer@phpmail.com");
?>
Run Code Online (Sandbox Code Playgroud)
我在 iPhone 和 Exchange 上遇到了同样的问题,我使用 \n 解决了我的问题,Content-Transfer-Encoding: quoted-printable\\r\\n\ quoted_printable_encode()n这样尝试您的代码:
function mail_utf8($to, $subject = \'(No subject)\', $message = \'\', $from =\'\') { \n $headers = "MIME-Version: 1.0\\r\\n";\n $headers .= "Content-type: text/html; charset=UTF-8\\r\\n";\n $headers .= "Content-Transfer-Encoding: quoted-printable\\r\\n";\n $headers .= "From: $from\\r\\n";\n mail($to, $subject, $message, $headers); \n}\n$mymessage = "Hello <BR>"; \n$mymessage.= "Received: now<BR/><BR/>";\n$mymessage.= "details: \xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d \xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d<BR/><BR/>";\n$mymessage = quoted_printable_encode($mymessage);\n\nmail_utf8 ("XXX@gmail.com,XXX@exchangeServer.com", "\xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d", $mymessage, "mailer@phpmail.com");\nRun Code Online (Sandbox Code Playgroud)\n