【问题标题】:Symbols in email headlines for pear mail梨形邮件的电子邮件标题中的符号
【发布时间】:2023-03-25 10:10:02
【问题描述】:

我正在尝试将心形符号 ♥ 放入应通过 php pear 邮件包发送的电子邮件的标题中。

但是接收者得到一个 ?而不是心,所以必须有一些错误。如果我用我的邮件客户端手动发送电子邮件,它就可以工作。

我的代码如下:

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

$headers = array ('From' => 'sender',
          'Subject' => '♥ test',
          'Charset' => 'utf-8',

        );



$mail = $smtp->send($to, $headers, 'heart test');

为了让电子邮件的接收者正确显示心脏,我需要进行哪些更改?

【问题讨论】:

    标签: php email utf-8 smtp pear


    【解决方案1】:

    您没有正确指定字符集,所以是的...这是字符集不匹配:

    $headers = array(
       'Content-type' => 'text/plain; charset=UTF-8'
    );
    

    是你应该拥有的。没有Charset 标头。

    【讨论】:

    • 已将其更改为您的建议,但此心仍显示为?。但是,如果我输入=?UTF-8?B?4pml?= 而不是心形符号,就会出现心形。那是怎么回事?
    • @Matthias 您已经正确编码了非 7 位安全字符以显示在主题中,这是怎么回事。
    猜你喜欢
    • 2019-04-28
    • 2012-03-20
    • 2012-12-05
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    相关资源
    最近更新 更多