从php发送邮件 - charset编码

时间:2011-10-24 18:01:58

标签: php email utf-8 character-encoding

我发送了一个用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也在邮件中写我的服务器..我怎样才能防止这种情况发生?

1 个答案:

答案 0 :(得分:3)

所有包含主题的电子邮件标题都必须是纯ASCII,您不能直接在电子邮件标题中使用UTF-8或其他编码。某些邮件服务可能能够检测到其他编码并做正确的事情,但它在技术上并不合适。使用MIME编码对标头进行编码,请参阅How to use special characters in recipients name when using PHP's mail function