ปัญหาที่พบเจอ
ส่งเห็นว่าปลายทางไม่สามารถอ่านออกได้
การแก้ปัญหานี้ก็เพียงระบุ
Code (PHP)
1.$strSubject = "=?UTF-8?B?".base64_encode("ส่งอีเมล์ภาษาไทย ด้วย php ทดสอบชื่อเรื่องภาษาไทย")."?=";2.$strHeader .= "MIME-Version: 1.0' . \r\n";3.$strHeader .= "Content-type: text/html; charset=utf-8\r\n";ในส่วนของ header และ Subject เพื่อบ่งบอกว่าถูกเข้ารหัส encode ที่เป็น UTF-8
Code เต็ม ๆ
การ Save ไฟล์จะต้องใช้ Encoding เป็น UTF-8 เหมือนในรูบครับ
phpSendEmailThai.php
01.<html>02.<head>03.<title>ThaiCreate.Com PHP Sending Email</title>04.<meta http-equiv="Content-Type" content="text/html; charset=utf-8">05.</head>06.<body>07.<?08.$strTo = "member@thaicreate.com";09.$strSubject = "=?UTF-8?B?".base64_encode("ส่งอีเมล์ภาษาไทย ด้วย php ทดสอบชื่อเรื่องภาษาไทย")."?=";10.$strHeader .= "MIME-Version: 1.0' . \r\n";11.$strHeader .= "Content-type: text/html; charset=utf-8\r\n";12.$strHeader .= "From: Mr.Weerachai Nukitram<webmaster@thaicreate.com>\r\nReply-To: thaicreate@hotmail.com";13.$strVar = "ข้อความภาษาไทย";14.$strMessage = "15.<h1>My Message</h1><br>16.<table width='285' border='1'>17.<tr>18.<td><div align='center'><strong>My Message </strong></div></td>19.<td><div align='center'><font color='red'>My Message</font></div></td>20.<td><div align='center'><font size='2'>My Message</font></div></td>21.</tr>22.<tr>23.<td><div align='center'>My Message</div></td>24.<td><div align='center'>My Message</div></td>25.<td><div align='center'>My Message</div></td>26.</tr>27.<tr>28.<td><div align='center'>".$strVar."</div></td>29.<td><div align='center'>".$strVar."</div></td>30.<td><div align='center'>".$strVar."</div></td>31.</tr>32.</table>";33. 34.$flgSend = @mail($strTo,$strSubject,$strMessage,$strHeader); // @ = No Show Error //35.if($flgSend)36.{37.echo "Email Sending.";38.}39.else40.{41.echo "Email Can Not Send.";42.}43.?>44.</body>45.</html>Screenshot
ผลลัพธ์ผ่าน Webmail
ผ่านโปรแกรมประเภท Outlook
No comments:
Post a Comment