我正在从 php 脚本发送一封用希腊语编写的自动邮件。 我试过:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "From: example@mail.com\r\n";
$headers .= "Reply-To: example@mail.com\r\n";
mail($to, $subject,$body, $headers) ;
主体和主题是希腊语。 Hotmail 正在阅读主题而不是正文,而 gmail 阅读得很好。我用 iso-8859-7(包含希腊字符)替换了 utf-8,它可以工作。 1) 知道为什么它不适用于 utf-8 吗? 2) gmail 也在邮件中写入我的服务器。我怎样才能防止这种情况发生?
最佳答案
所有包含主题的电子邮件 header 都必须是纯 ASCII,您不能直接在电子邮件 header 中使用 UTF-8 或其他编码。一些邮件服务可能能够检测到其他编码并做正确的事情,但它在技术上是无效的。使用 MIME 编码对 header 进行编码,请参阅 How to use special characters in recipients name when using PHP's mail function .
关于php - 从 php 发送邮件 - 字符集编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879784/