เกริ่นนำด้วยความจำเป็นที่ต้องใช้งานกับเจ้า Code ตัวนี้มาก เลยต้องศึกษาจากเว็บหลายๆ สำนัก ไม่ว่าจะเป็น เหล่าพี่น้อง TSB เว็บ ThaiCreate และอีกหลายเว็บ (เยอะมาก) นั่งงมไปมา จนก่อนหน้านี้ได้ตั้งกระทู้ไถ่ถามที่นี่ ก็ได้รับการช่วยเหลือเป็นอย่างดี จากท่านเทพทั้งหลาย แต่ปัญหาที่เกิดตามมา ไม่ว่าจะเป็น
1. SMTP -> ERROR: Failed to connect to server
2. gmail authentication failedซึ่งผมก็เชื่อว้าหลายท่าน (ที่คงยังไม่ได้เหมือนผม) เจอ Error นี้อย่างแน่นอน และยิ่งแก้ก็ยิ่งเจอ
เข้าเรื่องวันนี้เป็นอีกวันที่ต้องใช้งานส่วนนี้อย่างเร่งด่วน เพราะมันคือส่วนหนึ่งของงานลูกค้าที่ต้องทำ เป็นไงเป็นกันต้องทำให้ได้ เลยเอาเว็บต้นฉบับทั้งไทยและเทศ มามิกซ์ (ซึ่งจริงๆ เว็บไทยเกือบ 70%) จนได้มาเป็น Script ส่งเมล์ตัวนี้ และได้ผ่านการทดสอบแล้วถึง 10 ครั้ง มั่นใจว่า ส่งเข้า INBOX 100% ไม่ลงถังขยะ (JungMail) แน่นอน
***** ออกตัวก่อนเลยนะครับ ผมไม่ขั้นเทพ PHP พอถูไถได้ นอกนั้นใช้ลักจำจากเว็บทั่วไปในเทคนิคต่างๆ ฉะนั้น จาก Script ถ้าท่านได้ ดู และ Download ไป หากสงสัยถามได้นะครับ แต่รวมๆแล้วก็คือผมงมมาจนได้ ไม่ได้ใช้ทักษะอะไรเลย ****<?
require_once('PHPMailer/PHPMailerAutoload.php');
$mail = new PHPMailer();
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls"; //ตรงส่วนนี้ผมไม่แน่ใจ ลองเปลี่ยนไปมาใช้งานได้
$mail->Host = "smtp.gmail.com";
$mail->Port = 587; //ตรงส่วนนี้ผมไม่แน่ใจ ลองเปลี่ยนไปมาใช้งานได้
$mail->isHTML();
$mail->CharSet = "utf-8"; //ตั้งเป็น UTF-8 เพื่อให้อ่านภาษาไทยได้
$mail->Username = "[email protected]"; //ให้ใส่ Gmail ของคุณเต็มๆเลย
$mail->Password = "password"; // ใส่รหัสผ่าน
$mail->SetFrom = ('[email protected]'); //ตั้ง email เพื่อใช้เป็นเมล์อ้างอิงในการส่ง ใส่หรือไม่ใส่ก็ได้ เพราะผมก็ไม่รู้ว่ามันแาดงให้เห็นตรงไหน
$mail->FromName = "Sender Person"; //ชื่อที่ใช้ในการส่ง
$mail->Subject = "ทดสอบการส่งอีเมล์"; //หัวเรื่อง emal ที่ส่ง
$mail->Body = "ได้แล้วครับ หลังจากที่งมกับ Code นี้มานานแสนนาน</b>"; //รายละเอียดที่ส่ง
$mail->AddAddress('[email protected]','Recive Name'); //อีเมล์และชื่อผู้รับ
//ส่วนของการแนบไฟล์ ซึ่งทดสอบแล้วแนบได้จริงทั้งไฟล์ .rar , .jpg , png ซึ่งคงมีหลายนามสกุลที่แนบได้
$mail->AddAttachment("files/1.rar");
$mail->AddAttachment("files/2.rar");
$mail->AddAttachment("files/1.jpg");
$mail->AddAttachment("files/2.png");
//ตรวจสอบว่าส่งผ่านหรือไม่
if ($mail->Send()){
echo "ข้อความของคุณได้ส่งพร้อมไฟล์แนบแล้วจ้า";
}else{
echo "การส่งไม่สำเร็จ";
}
?>
Code ประมาณนี้ครับ ซึ่ง Include ไฟล์ PHPMailerAutoload.php มาใช้งาน (ห้ามถามว่าไฟล์นี้ทำงานอย่างไร อิอิ ตอบไม่ได้) ผมคอมเม้นท์เท่าที่ผมเข้าใจให้ครับ
ข้อสังเกตุและเงื่อนไขประเด็นอื่นที่ทำให้ Script นี้ทำงานโดยสมบูรณ์1. ต้นฉบับจาก ThaiCreate แต่ไฟล์ class.smtp ไม่ทำงาน ผมเลยหาจาก Github มาลองเปลี่ยนดู ปรากฎว่าทำงาน (ห้ามถามว่าเพราะไร ไม่รู้ครับ มั่วเอา)
2. ผมลองทำตามแนะนำในวีดีโอของ Youtube ให้ไปปิดค่า //set_magic_quotes_runtime(0); และ //set_magic_quotes_runtime($magic_quotes); ในไฟล์ class.phpmailer.php ซึ่งก็ได้ผล (ก็ห้ามถามนะครับ ไม่รู้อีกแหละ)
3. เข้าที่
https://myaccount.google.com/ 
เลือกที่ การลงชื่อเข้าใช้และความปลอดภัย แล้วเลื่อลงมาล่างสุดจะเห็น หัวข้อ อนุญาตแอปที่มีความปลอดภัยน้อย ให้ทำการเปิด (ซึ่ง Default มันจะเป็น ปิด)
ปรับแต่งเรียบร้อยก็ลองทดสอบดู ซึ่งผมอัพขึ้น HOST ทดสอบจริงๆ เลย ใช้งานได้ 100% เข้า กล่องข้อความ (Inbox) ทั้ง 10 การทดสอบชัวร์
ดาวน์โหลด : https://www.mediafire.com/?dmlh7ebiiovuyx7 
หวังว่าคงเป็นประโยชน์สำหรับท่านที่ตามหามานาน หรืออาจจะแก้ไม่ตกสักที ถ้าเห็นว่าดีและมีประโยชน์ เติมพลังกดถูกใจให้หน่อยนะครับ
ปล. เดี๋ยวจะลองพัฒนาเชื่อมต่อกับฐานข้อมูลดูครับ ได้ยังไงจะนำมาแจกกันอีกรอบแระกันจ้าขอบคุณแหล่งที่มา ที่ทำให้มี Script ดีๆ อย่างนี้- เพื่อนๆ พี่ๆ และ ข้อมูลในบอร์ด ThaiSeoBoard.com
- ThaiCreate.com
-
https://www.youtube.com/watch?v=0lCTC_-bu4s 
-
https://www.youtube.com/watch?v=U13smZvdArI
