【问题标题】:PHP Pear Email Text Encoding not being exceptedPHP Pear 电子邮件文本编码不例外
【发布时间】:2013-04-01 09:57:53
【问题描述】:

如何正确设置使用Pear 的多部分电子邮件的文本编码?

我看过很多例子,我相信我设置正确。但是,在发送电子邮件时,即使我指定了UTF-8,他们也会以charset=ISO-8859-1 到达。

当我决定发送包含文本和 HTML 部分的多部分电子邮件时,这个问题就开始了。我已尝试设置内容类型,但似乎没有什么不同。

下面是我正在使用的代码。任何建议表示赞赏。

function send_html_email($to, $from, $subject, $html, $plainTxt ) {
    require_once "Mail.php";
    require_once "Mail/mime.php";    

    $host = "ssl://secure.xxx.com";
    $port = "xxx";
    $username = "xxx";
    $password = "xxx";

    $headers = array (
    'charset' => 'UTF-8',
    'From' => $from,
            'To' => $to,
            'Subject' => $subject,
        'MIME-Version' => "1.0"
             );  

    $crlf = "\n";
            $mime = new Mail_mime($crlf);

    $mime->setHTMLBody($html); 
    $mime->setTXTBody($plainTxt); 
            $body = $mime->get();
            $headers = $mime->headers($headers);

            $smtp = Mail::factory('smtp', array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password)); 

            $mail = $smtp->send($to, $headers, $body);
}

【问题讨论】:

    标签: php email header pear multipart


    【解决方案1】:

    试试这样的标题:

    $headers['Content-Type'] = "text/plain; charset=\"UTF-8\"";
    $headers['Content-Transfer-Encoding'] = "8bit";
    

    参考:http://pear.php.net/manual/en/package.mail.mail.factory.php#13207

    顺便说一句,Pear 是“可重用 PHP 组件的框架和分发系统”。 Mail 组件只是 Pear 提供的众多组件之一。

    【讨论】:

    • Thx,实际上我找到了解决方法,但除了必须以另一种方式指定之外,没有找到答案。它在本页的 cmets 部分http://pear.php.net/manual/en/package.mail.mail-mime.example.php
    • 我找到了修复,我想它需要以不同的方式指定!您将一组参数传递给 mime get 函数,如下所示。 $mimeparams['text_encoding']="8bit"; $mimeparams['text_charset']="UTF-8"; $mimeparams['html_charset']="UTF-8"; $mimeparams['head_charset']="UTF-8"; $body = $mime->get($mimeparams); 似乎没有记录得那么好。在用户注释区域中找到它。 [pear.php.net/manual/en/package.mail.mail-mime.example.php]
    猜你喜欢
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多