Problems with PHP Mailer header encoding
character-encoding, email, encoding, php, phpmailer
Solution
Use
$mail->CharSet = 'UTF-8';
instead of
$mail->CharSet = "utf8";
Problem
``` <?php require_once('../class.phpmailer.php'); //include("../class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded iconv_set_encoding("internal_encoding", "UTF-8"); $mail = new PHPMailer(); $mail->CharSet = "utf8"; /* $body = file_get_contents('contents.html'); $body = eregi_replace("[\]",'',$body); */ $mail->IsSMTP(); // telling the class to use SMTP //$mail->Host = "mail.app-cpr.com"; // SMTP server //$mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "tls"; // sets the prefix to the servier $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server $mail->Port = 25; // set the SMTP port for the GMAIL server $mail->Username = "xxxxxxx@gmail.com"; // GMAIL username $mail->Password = "xxxxxxxxxxx"; // GMAIL password $mail->SetFrom('xxxxxxx@gmail.com', 'First Last'); $mail->AddReplyTo("xxxxxxx@gmail.com","First Last"); $mail->Subject = "ทดสอบ"; /* $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test */ $mail->MsgHTML("ทดสอบ"); $address = "xxxxxxx@gmail.com"; $mail->AddAddress($address, "John Doe"); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } ?> ``` The email sending is ok but have a problems with the header. Subject : '`ทดสอบ`' I will try with - php mail special characters utf8 - use => $mail->Subject = "=?UTF-8?B?".base64_encode($subject)."?="; But it does not work for me. How can I know what is the header coding and solve this to be right in my Thai langauge?