Home >Backend Development >PHP Tutorial >How to solve the problem of Chinese garbled characters in emails sent by phpmailer
When using phpmailer to send emails with Chinese content, garbled characters often appear. This article gives an example, mainly by adding the encoding setting base64, which can solve the problem of garbled characters for your reference.
Send emails using PHPMailer class,
The code is as follows: <?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; ?> Attachment: PHPMailer email sending class V5.1 download address |