【问题标题】:How to add an extra Header with PHP如何使用 PHP 添加额外的 Header
【发布时间】:2014-12-12 01:30:30
【问题描述】:

我是 PEAR 模块的新手,我正在尝试发送带有附件的电子邮件。邮件有效,但是当我使用特殊字符(如重音符号)时,我收到了奇怪的符号:

原词:Tiburón 收到的字:tiburón

我读到我想在我的电子邮件中添加 UTF-8 编码,所以我尝试包含以下行:

$headers = array("Content-Type: text/html; charset=UTF-8");

下面是我正在使用的代码,但它不起作用,我仍然得到奇怪的符号:

$message = new Mail_mime(); 
$message->setTXTBody($text); 
$body = $message->get();
$extraheaders = array("From"=>$from, "Subject"=>$subject,"Reply-To"=>$visitor_email,"CC"=>$bccemail, "Content-Type"=>"text/html; charset=UTF-8");
$headers = $message->headers($extraheaders);
$mail = Mail::factory("mail");
$send = $mail->send($to, $headers, $body);

我的 $extraheaders 语法是否正确?我也试图找到一个简单的教程,但我没有任何运气。任何想法如何解决这个问题?

【问题讨论】:

    标签: php utf-8 html-email pear


    【解决方案1】:

    documentation page上查看用户cmets:

    $mimeparams = array();
    $mimeparams['text_encoding']="8bit"; 
    $mimeparams['text_charset']="UTF-8"; 
    $mimeparams['html_charset']="UTF-8"; 
    $mimeparams['head_charset']="UTF-8"; 
    
    $headers = array();
    $headers['From'] = 'foo@example.org;
    $headers['To']   = 'bar@example.org;
    $headers['Subject'] = 'Test;
    $headers["Content-Type"] = 'text/html; charset=UTF-8';
    $headers["Content-Transfer-Encoding"]= "8bit";
    
    $body = $mime->get($mimeparams); 
    $headers = $mime->headers($headers); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      • 2018-05-10
      • 1970-01-01
      • 2010-12-20
      • 2013-10-17
      相关资源
      最近更新 更多