gpt4 book ai didi

使用 utf-8 编码的 php 邮件在 Microsoft 邮件客户端中显示不正确

转载 作者:可可西里 更新时间:2023-11-01 12:42:02 27 4
gpt4 key购买 nike

我已经搜索并搜索了解决方案,但无济于事。

我正在使用 php 邮件程序发送以 utf8 编码的混合文本/html 电子邮件。这是相关代码:

$headers = "From: $fromPerson\r\n" .
"Content-Transfer-Encoding: 8bit\r\n".
"Reply-To: $fromPerson\r\n" .
"Content-Type: multipart/alternative; boundary=". $mime_boundary_header. "\r\n" .
"X-Mailer: PHP/" . phpversion();

$message = "$notice_text

--$mime_boundary
Content-Type: text/plain; charset='UTF-8'
Content-Transfer-Encoding: 8bit

$textEmail

--$mime_boundary
Content-Type: text/html; charset='UTF-8'
Content-Transfer-Encoding: 8bit

$htmlEmail

--$mime_boundary--";

//mb_detect_encoding($message) returns UTF-8
$mail_sent = @mail( $to, $subject, $message, $headers);

这些消息包含西类牙语以及那些棘手的字符。电子邮件在 gmail、hotmail(在线 outlook)、mac 邮件、手机等中显示正常,但在 Windows live mail 或 Microsoft outlook 中显示不佳。

如果我手动将 Windows live Mail 中的默认字体设置为 utf8,则邮件会正确显示,否则不会。如果我将电子邮件从另一个客户端转发到 outlook 或 windows live,它也能正常显示。

我确定我可以找到变通办法,但我是否遗漏了什么?我不想依赖知道如何更改邮件编码的接收者,所以我需要在电子邮件中添加一些内容来提示这些客户识别编码吗?

如果此问题已在其他地方得到处理,我深表歉意,我将不胜感激任何建议。看起来我应该继续使用 PHPMailer 看看是否可以解决问题,但出于个人好奇,了解为什么会发生这种情况会很有趣...

最佳答案

我不确定包装字符集的 ' 是否必要,甚至是否正确。尝试删除它们:

Content-Type: text/plain; charset=UTF-8

关于使用 utf-8 编码的 php 邮件在 Microsoft 邮件客户端中显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16715071/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com