我在购买后使用IPN向客户发送邮件。除了一件令人讨厌的小事之外,一切都很顺利。当我测试以我的邮件作为买家购买产品时,我的邮件收件箱中的邮件如下所示:http://snag.gy/grrMy.jpg< - 它本身有双重主题,第一个没有变成UTF-8 - 为什么这样?如果我突然点击该邮件,只有UTF-8编码的主题会像这样显示(如预期):http://snag.gy/k5VyF.jpg
以下是我使用的PHP代码:
$to = filter_var($ipn_post_data[payer_email], FILTER_SANITIZE_EMAIL);
$date = date('Y-m-d');
$subject = "Tack för Ert köp! / Thank you for your order!";
$headerFields = array(
'Date: ' . date('r', $_SERVER['REQUEST_TIME']),
"Subject: =?UTF-8?Q?".imap_8bit($subject)."?=",
"From: {$to}",
"MIME-Version: 1.0",
"Content-Type: text/html;charset=utf-8"
);
mail($to, $subject, $message, implode("\r\n", $headerFields));
所以唯一的“问题”实际上就是收件箱中邮件主题加倍,第一个编码错误,看起来很糟糕。有人对此有何看法?
答案 0 :(得分:1)
您将$subject
传递给mail()
两次 - 一次在第二个参数中,一次在第四个参数中传递$headerFields
。
尝试传递null
作为第二个参数。