返回顶部

收藏

PHP使用mail函数发送邮件标题乱码问题解决方法

更多

PHP程序使用mail()函数发送邮件的时候,标题中文的话会出现乱码。

解决方法:

先用函数base64_encode() ? 使用 MIME base64 对数据进行编码

标题字符串前加编码类型例如: =?UTF-8?B?

标题字符串后加:?=

邮件header说明Content-type ? 防止邮件正文也乱码

$to         = 'phplovers@example.com'; 
$subject  = "=?UTF-8?B?".base64_encode('邮件标题')."?="; 
$headers  = 'MIME-Version: 1.0' . "\\r\\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\\r\\n"; 
// Additional headers 
$headers .= 'To: Xinple <'">'phplovers@example.com>' . "\\r\\n"; 
$headers .= 'From: Admin <'">admin@example.com>' . "\\r\\n"; 
$headers .= 'Reply-To: Xinple <'">'phplovers@example>' . "\\r\\n"; 
mail($to, $subject, $message, $headers);
//该片段来自于http://outofmemory.cn

标签:php,网络

收藏

0人收藏

支持

0

反对

0

发表评论