ZF2邮件UTF-8& Outlook快递

时间:2014-08-24 17:45:46

标签: php email zend-framework2 outlook

我使用ZF2发送UTF-8编码的电子邮件:

$message->setEncoding('UTF-8');

有了这样的测试内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Test</title>
    </head>
    <body bgcolor="#FFFFFF">
        ĄŚĆÓłąóźćżźęĄŚĆÓłąóźćżźęĄŚĆÓłąóźćżźę
    </body>
</html>

现代浏览器或电子邮件客户端中的一切都是正确的。问题是旧的OutlookExpress无法识别这一点。消息随ISO一起显示。 我该怎么做才能让它正确阅读?

2 个答案:

答案 0 :(得分:2)

我找到了解决方案。发送html时,该部分有自己的编码。设置UTF-8会使OE正确读取消息。

$html = new Mime\Part($text);
$html->type = Mime\Mime::TYPE_HTML;
$html->charset = 'utf-8';

答案 1 :(得分:0)

我猜OutlookExpress能够显示UTF8。但我遇到一种情况,即客户端设置强制ISO编码而不是通过电子邮件检测。所以检查outlookExpress的设置。

我要做的另一件事是使用UTF8编码从gmail发送电子邮件并在此OutlookExpress中读取它。 - 它是否显示出核心?如果是,请查看邮件来源并查看与您的邮件有何不同之处。如果没有,那么问题可能出在OutlookExpress的配置中。