Heim > php教程 > php手册 > Hauptteil

php mail发邮件标题中文乱码的问题解决办法

WBOY
Freigeben: 2016-05-25 16:49:17
Original
1252 Leute haben es durchsucht

当使用下面的PHP语句发送电子邮件的时候,如果编码和接收邮箱编码不相同,会发现邮件的标题是乱码,而邮件正文却是正确的,如何才能使得邮件标题不是乱码呢?

$subject = stripslashes($the_post['Title']);  
$headers = "MIME-Version: 1.0\r\n";  
$headers .= "Content-type: text/plain; charset=utf-8\r\n";  
$headers .= "Content-Transfer-Encoding: 8bit\r\n";  
$message = stripslashes(strip_tags($the_post['Content']));  
mail($to, $subject, $message, $headers);
Nach dem Login kopieren

先用函数base64_encode() — 使用 MIME base64 对数据进行编码,标题字符串前加编码类型例如: =?UTF-8?B?,标题字符串后加:?=,例如:

$subject = "=?UTF-8?B?".base64_encode($subject)."?=";

将上面一句添加到代码之中,这样,发送的中文邮件标题就不是乱码了,代码如下:

<?php  
$to    = &#39;junhuibai@gmail.com&#39;;  
$subject = iconv(&#39;&#39;,&#39;GB2312&#39;,&#39;亲爱的&#39;.$s_user.&#39;,请取回您的密码!&#39;);  
$subject = "=?GB2312?B?".base64_encode($subject)."?=";  
$message = $s_user.&#39;,您好!&#39;.  
&#39;您的新密码是:&#39;.$pwd.&#39;&#39;.  
&#39;为了保证您用户的安全性,请登录更改您的密码。&#39;.  
&#39;此信是由系统发出,系统不接收回信,请勿直接回复!&#39;;  
$headers = &#39;From: junhuibai@tom.com&#39; . "\r\n" .  
&#39;Reply-To:junhuibai@tom.com&#39; . "\r\n" .  
&#39;X-Mailer: PHP/&#39; . phpversion();  
if(mail($to, $subject, $message,$headers))  
echo&#39;ok&#39;;  
else 
echo &#39;no&#39;;  
phpinfo();  
?>
Nach dem Login kopieren

最终解决办法,代码如下:

标题乱码:$subject = "=?UTF-8?B?".base64_encode('邮箱验证 —— ' . SITE_NAME)."?=";

正文乱码,设置header : charset=utf-8'

$headers = &#39;From: webmaster@webinno.cn&#39; . "\r\n" .  
&#39;Content-type: text/html; charset=utf-8&#39; . "\r\n" .  
// &#39;Reply-To: webmaster@example.com&#39; . "\r\n" .  
&#39;X-Mailer: PHP/&#39; . phpversion();
Nach dem Login kopieren


永久链接:

转载随意!带上文章地址吧。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage