15 สิงหาคม 2555

Codeigniter Mail Subject ไม่เป็นภาษาไทย

หลังจากได้ทำการส่งเมล์ด้วยไลบรารี่ ของ Codeigniter

$this->email->subject('มีสมาชิกใหม่ สมัครเข้าใช้งานระบบ'); //หัวข้อของอีเมล

เมื่อเข้าไปตรวจเช็คเมล์ที่ทำการทดลองส่ง เนื้อหา ทุกอย่างใช้งานได้ แต่ผิดปกติอยู่ หัวข้อ อีเมล์

กลับได้อย่างรูปด้านล่าง





วิธีแก้ปัญหาเมื่อเจอเหตุการณ์ ให้ทำการสร้างไฟล์ MY_Email.php ไปไว้ที่ โฟลเดอร์ application->libraries
แล้วทำการเพิ่มโค้ดด่านล่างนี้เข้าไป

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Email extends CI_Email
{
/**
* Set Email Subject
*
* @access public
* @param string
* @return void
*/
function subject($subject)
{
$subject = '=?'. $this->charset .'?B?'. base64_encode($subject) .'?=';
$this->_set_header('Subject', $subject);
}
}
หลังจากนั้นให้ทำการทดลองส่งเมล์ออกไปใหม่อีกครั้ง ก็จะได้หัวข้ออีเมล์เป็นภาษาไทยโดยสมบูรณ์อย่างภาพด้านล่างเลยครับ



----------------------------------------------------------------------------------------------------------------------------------------

อ้างอิงตามบทความ

http://codeigniter.com/forums/viewthread/160893/#981671

http://www.narisa.com/forums/index.php?app=blog&module=display&section=blog&blogid=9&showentry=2488

http://www.php.net/manual/en/function.mail.php#108669




ไม่มีความคิดเห็น:

แสดงความคิดเห็น