บทความ: การส่ง email เป็นภาษาไทย (UTF-8) ใน PHP
ในภาษา PHP จะมี function สำหรับส่งเมล์คือ
function mail(); นั่นเอง หลายๆคนคงเคยใช้ function นี้ในการส่งเมล์มาแล้ว วันนี้จะมาแนะนำวิธีการส่งเมล์เป็นภาษาไทย และใช้ encoding
เป็น UTF-8 กันครับ
การส่งเมล์เป็นภาษาไทย ถ้าต้องการส่งถึงผู้รับแล้ว ข้อความและหัวข้อของอีเมล์ ไม่ผิดพลาด สามารถใช้โปรแกรม email client อ่านเป็นภาษาไทย ทั้งหัวข้อและข้อความนั้น เราต้องระบุ encoding ของ หัวข้อและข้อความ ของอีเมล์ก่อนที่จะส่งไป สำหรับการกำหนด encoding ของ subject ให้เป็น encoding แบบ UTF-8 สามารถทำได้โดยเข้ารหัสของ subject ก่อนที่จะส่งดังนี้
การส่งเมล์เป็นภาษาไทย ถ้าต้องการส่งถึงผู้รับแล้ว ข้อความและหัวข้อของอีเมล์ ไม่ผิดพลาด สามารถใช้โปรแกรม 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น