Heim >Backend-Entwicklung >PHP-Tutorial > phpMailer 中文乱码有关问题

phpMailer 中文乱码有关问题

WBOY
WBOYOriginal
2016-06-13 13:19:111037Durchsuche

phpMailer 中文乱码问题
本人用phpmailer 类库想发一封电子邮件,编码已经设置成了utf-8,但如果发件人,收件人,及主题中包含中文字符,则显示乱码问题,很是不爽。从网上找了一些方法,他们是修改 class.phpmailer.php 文件。由于我不想修改它,想求高人指点。。谢谢了先。

------解决方案--------------------

C/C++ code
我试验了一下,成功了,代码网上直接摘过来填了填,标题及内容都不乱码。

楼主的php文件是windows的还是linux的? 注意php文件自身编码与mailer设置的编码一致,我下的最新的phpmailer,163发往QQ,成功。

<?php function postmail_jiucool_com($to,$subject = "",$body = ""){
  //Author:Jiucool WebSite: http://www.jiucool.com  
  //$to 表示收件人地址 $subject 表示邮件标题 $body表示邮件正文
  //error_reporting(E_ALL);
  error_reporting(E_STRICT);
  date_default_timezone_set("Asia/Shanghai");//设定时区东八区
  require_once('class.phpmailer.php');
  include("class.smtp.php");  
  $mail = new PHPMailer(); //new一个PHPMailer对象出来
  $body = eregi_replace("[\]",'',$body); //对邮件内容进行必要的过滤
  $mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
  $mail->IsSMTP(); // 设定使用SMTP服务
  $mail->SMTPDebug = 1; // 启用SMTP调试功能
  // 1 = errors and messages
  // 2 = messages only
  $mail->SMTPAuth = true; // 启用 SMTP 验证功能
  $mail->Host = "smtp.163.com"; // SMTP 服务器
  $mail->Port = 25;// SMTP服务器的端口号
  $mail->Username = "abcdii"; // SMTP服务器用户名
  $mail->Password = "xxxx"; // SMTP服务器密码
  $mail->SetFrom('abcdii@163.com', 'liangdong');
  $mail->AddReplyTo("abcdii@163.com","liangdong");
  $mail->Subject = $subject;
  $mail->AltBody = "To view the message, please use an HTML compatible email viewer! - From www.jiucool.com"; // optional, comment out and test
  $mail->MsgHTML($body);
  $address = $to;
  $mail->AddAddress($address, "liangdong");
  //$mail->AddAttachment("images/phpmailer.gif"); // attachment  
  //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
  if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
  } else {
  echo "Message sent!恭喜,邮件发送成功!";
  }
  }


postmail_jiucool_com('120848369@qq.com', '我是梁栋', '你好');
?> <div class="clear">
                 
              
              
        
            </div>
Stellungnahme:
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