首頁 >後端開發 >php教程 >phpmailer發郵件中文亂碼問題如何解決

phpmailer發郵件中文亂碼問題如何解決

WBOY
WBOY原創
2016-07-25 08:59:501252瀏覽
在用phpmailer发送中文内容的邮件时,经常出现乱码,本文给出一个例子,主要是加上了编码设置base64,可以解决乱码的问题,供大家参考。 使用PHPMailer类发送邮件,

代码如下:

<?php
/**
 * 解决phpmailer发邮件中文乱码
 * edit bbs.it-home.org
*/

set_time_limit(0);

include("class.phpmailer.php");
include("class.smtp.php");

$mail=new PHPMailer();

function send_email($mail,$reply_to,$to,$receive_name,$subject,$content)
{
 $mail->IsSMTP();
 $mail->CharSet = "GB2312";                     //chinese;
 $mail->Encoding = "base64";
 $mail->SMTPAuth   = true;
 $mail->SMTPSecure = "ssl";
 $mail->Host       = " smtp ";                  // set smtp server domain or ip;
 $mail->Port       = 465;
 $mail->Username   = " login account ";        // login account;
 $mail->Password   = " login password ";       // login password
 $mail->From       = " login account ";        // login account;
 $mail->FromName   = "sender name";            // sender name;
 $mail->Subject    = "$subject";
 $mail->Body       = "$content";
 $mail->AltBody    = "$content";
 $mail->WordWrap   = 50000;
 $mail->AddAddress($to,$receive_name);
 $mail->AddReplyTo("$reply_to","");             // reply to whom;
 $mail->AddAttachment("/path/to/file.zip");
 $mail->AddAttachment("/path/to/image.jpg", "new.jpg");
 $mail->IsHTML(true);
 
 if(!$mail->Send())
 {
  $send_result=$mail->ErrorInfo;  
 }
 else
 {
  $time=time();
  $time=date("Y-m-d H:i:s A");
  $send_result="Email sent to $to, at $time, Success";  
 } 
 return($send_result);
}

/*
the following code is a simple;
*/
$reply_to='sender@jbxue.com';
$to='customer@jbxue.com';
$receive_name='Carson';
$subject='程序员之家_bbs.it-home.org -欢迎大家的光临!';
$content='<h1><font color=#f00>this is a test.<br>last one</font></h1>';

$send_email=send_email($mail,$reply_to,$to,$receive_name,$subject,$content);
echo $send_email;
?>

附:PHPMailer邮件发送类V5.1下载地址



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn