เกริ่นนำ
ด้วยความจำเป็นที่ต้องใช้งานกับเจ้า 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 ไป หากสงสัยถามได้นะครับ แต่รวมๆแล้วก็คือผมงมมาจนได้ ไม่ได้ใช้ทักษะอะไรเลย ****
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
ด้วยความจำเป็นที่ต้องใช้งานกับเจ้า 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


