首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHPMailer字符编码问题

PHPMailer字符编码问题
EN

Stack Overflow用户
提问于 2010-03-22 18:40:40
回答 6查看 301.9K关注 0票数 231

我试着用PHPMailer发送注册,激活。给用户的etc邮件:

代码语言:javascript
复制
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包含拉丁字符。不幸的是,所有的网络邮件(gmail,webmail.mydomain.org,emailaddress.domain.xx)都使用了不同的编码。

如何强制使用UTF-8编码在所有邮箱上显示完全相同的邮件?

我尝试转换邮件标题宽度mb_convert_encoding(),但没有成功。

EN

回答 6

Stack Overflow用户

发布于 2013-05-06 22:00:31

代码语言:javascript
复制
$mail -> CharSet = "UTF-8";
$mail = new PHPMailer();

$mail -> CharSet = "UTF-8";必须在$mail = new PHPMailer();之后,并且不能有空格!

尝尝这个

代码语言:javascript
复制
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
票数 28
EN

Stack Overflow用户

发布于 2013-04-30 11:08:14

我就是这样工作的

代码语言:javascript
复制
  $mail->FromName = utf8_decode($_POST['name']);

http://php.net/manual/en/function.utf8-decode.php

票数 7
EN

Stack Overflow用户

发布于 2020-02-13 00:03:24

如果以上选项都不起作用,并且邮件看起来仍像ª הודפסה ×•× ×©×œ

代码语言:javascript
复制
$mail->addCustomHeader('Content-Type', 'text/plain;charset=utf-8');
$mail->Subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2491475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档