pico hosting ผู้ให้บริการ Web hosting จดโดเมนราคาประหยัด
บทความ: การส่ง email เป็นภาษาไทย (UTF-8) ใน PHP
ในภาษา PHP จะมี function สำหรับส่งเมล์คือ function mail(); นั่นเอง หลายๆคนคงเคยใช้ function นี้ในการส่งเมล์มาแล้ว วันนี้จะมาแนะนำวิธีการส่งเมล์เป็นภาษาไทย และใช้ encoding เป็น UTF-8 กันครับการส่งเมล์เป็นภาษาไทย ถ้าต้องการส่งถึงผู้รับแล้ว ข้อความและหัวข้อของอีเมล์ ไม่ผิดพลาด สามารถใช้โปรแกรม email client อ่านเป็นภาษาไทย ทั้งหัวข้อและข้อความนั้น เราต้องระบุ encoding ของ หัวข้อและข้อความ ของอีเมล์ก่อนที่จะส่งไป สำหรับการกำหนด encoding ของ subject ให้เป็น encoding แบบ UTF-8 สามารถทำได้โดยเข้ารหัสของ subject ก่อนที่จะส่งดังนี้
$subject = '=?utf-8?B?'.base64_encode("หัวข้ออีเมล์ภาษาไทยแบบ UTF-8").'?=';
สำหรับการกำหนด encoding ของข้อความในอีเมล์ สามารถกำหนด encoding ลงไปใน header ของอีเมล์ได้เลย และไม่ต้องเข้ารหัสข้อความใหม่เหมือนกับ subject ดังตัวอย่าง
$header = 'Content-type: text/plain; charset=utf-8'. "\r\n";
ตัวอย่างการส่ง email เป็นภาษาไทย (UTF-8) ด้วย PHP
<?PHP $to = "customer@somedomain.com"; $subject = "=?utf-8?B?".base64_encode("หัวข้อของอีเมล์ภาษาไทย UTF-8")."?="; $header = "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/plain; charset=utf-8\r\n"; $header .= "From: admin@somedomain.com\r\n"; $header .= "Reply-To: admin@somedomain.com\r\n"; $header .= "X-Mailer: PHP/picoHosting"; $message = "ข้อความบรรทัดที่ 1\r\n"; $message = "ข้อความบรรทัดที่ 2\r\n"; $message = "ข้อความบรรทัดที่ 3\r\n"; mail($to, $subject, $messsage, $header); ?>
ข้อแนะนำ การใช้งาน "\r\n" กับ '\r\n' ไม่เหมือนกันนะครับ เพราะฉะนั้น ควรตรวจสอบความถูกต้องของ source code ด้วยครับ
Quick Help.


