Php pear邮件的电子邮件标题中的符号
我试着放一个心形符号♥ 进入电子邮件的标题,该标题应通过php pear邮件包发送 但是接受者得到了一个信号?而不是心,所以一定有一些错误。如果我用我的邮件客户端手动发送电子邮件,它就会工作 我的代码如下:Php pear邮件的电子邮件标题中的符号,php,email,utf-8,smtp,pear,Php,Email,Utf 8,Smtp,Pear,我试着放一个心形符号♥ 进入电子邮件的标题,该标题应通过php pear邮件包发送 但是接受者得到了一个信号?而不是心,所以一定有一些错误。如果我用我的邮件客户端手动发送电子邮件,它就会工作 我的代码如下: require_once "Mail.php"; $smtp = Mail::factory('smtp', array ('host' => 'host', 'port' => port,
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');
我需要更改什么才能使邮件接收者正确显示心形?您没有正确指定字符集,因此是的。。。这是一个字符集不匹配:
$headers = array(
'Content-type' => 'text/plain; charset=UTF-8'
);
这是你应该拥有的。没有字符集标题。将其更改为您的建议,但此心脏仍显示为?。但是,如果我将=?UTF-8?B?4pml?=而不是心脏符号,心脏就会出现。这是怎么回事?@Matthias你已经对主题中显示的非7位安全字符进行了正确编码,这就是问题所在。