charSet = "UTF-8"; $mail = new PHPMailer();" /> PHPMailer字符编码问题 | 好问
好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
PHPMailer字符编码问题 关闭 返回上一级  

PHPMailer字符编码问题
+ 查看更多

发布日期:2018-03-10 15:15
分类:PHP
浏览次数:123
我试着用PHPMailer发送注册、激活等邮件给用户:
require("class.phpmailer.php");
$mail -> charSet = "UTF-8";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.mydomain.org";
$mail->From = "name@mydomain.org";
$mail->SMTPAuth = true;
$mail->Username ="username";
$mail->Password="passw";
//$mail->FromName = $header;
$mail->FromName = mb_convert_encoding($header, "UTF-8", "auto");
$mail->AddAddress($emladd);
$mail->AddAddress("mytest@gmail.com");
$mail->AddBCC('mytest2@mydomain.org', 'firstadd');
$mail->Subject = $sub;
$mail->Body = $message;
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
}
$message包含拉丁字符。 不幸的是,所有webmail(gmail,webmail.mydomain.org,emailaddress.domain.xx)使用不同的编码。
如何强制使用UTF-8编码来让我的邮件在所有邮箱上一致显示?
我尝试转换邮件头宽度mb_convert_encoding(),但很不幸……

回答

如果你是100%肯定$message包含ISO-8859-1,你可以使用utf8_encode。 否则在$message上使用mb_detect_encoding和mb_convert_encoding。
还要注意
$ mail - > charSet =“UTF-8”;
应替换为:
$ mail-> CharSet ='UTF-8';
并放在类的实例化之后(在"new"之后)。 属性区分大小写! 注意PHPMailer文档列表和确切的拼写。
上一篇使用phpMailer发送从表单上传的附件
把Base64字符串转换成图像文件?下一篇
下一篇把Base64字符串转换成图像文件?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号