一个客户的PHP网站需要一个邮件订阅功能,我采用一个在PHP开源程序中被大量使用的程序 PHPmailer(PHPMailer_v2.0.4),在正确填写examples文件夹下的test_mail.php后测试邮件系统,被测试邮箱 可以收到邮件,不过title标题却一直是乱码,故想到这个肯定是PHP的编码问题,经过多次调试终于找到解决办法:核心问题就是加 入$mail->CharSet = "UTF-8";以下是个人测试成功的phpmailer邮件系统
1.对于所有的网易的邮箱(163.com,126.com,yeah.net等),一旦发送中文(标题和正文)都会出现乱码;
2.还有,别的邮箱在发中文时,正文都能正常显示,而标题还出现乱码;
实例:
test.php
代码如下 | 复制代码 |
phpmailer Unit Test请你输入收信的邮箱地址: |
send.php
代码如下 | 复制代码 |
require("class.phpmailer.php"); $mail->From = ""; //$mail->WordWrap = 50; // set word wrap to 50 characters $mail->Subject = "PHPMailer测试邮件"; if(!$mail->Send()) "; echo "Message has been sent"; |
解决方法一
$mail = new PHPMailer();
$mail->CharSet = "GB2312"; // 设置字符集编码 utf-8
$mail->Encoding = "base64";//设置文本编码方式
如果标题错误可
$mail->Subject = "=?UTF-8?B?" . base64_encode("我的邮件") . "?=";
吉姆·克莱默发布惊人预测:100万亿美元大关将现?究竟发生了什么?
尽管Ripple与SEC遭遇挫折,XRP仍呈现异常看涨情绪
山寨币牛市即将到来?顶级分析师称底部已现!
分析师Michaël van de Poppe预测:比特币价格下周将创历史新高
BlackRock的IBIT在创纪录的时间内达到700亿美元AUM,超越IVV
Pi Network在2025年Pi2Day活动上推出Pi应用工作室及质押功能