แนะนำการใช้ PHPMailer ส่งอีเมล์ด้วย account gmail

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

M027
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 758
ลงทะเบียนเมื่อ: 08/06/2015 10:07 am

แนะนำการใช้ PHPMailer ส่งอีเมล์ด้วย account gmail

โพสต์โดย M027 » 08/06/2015 5:29 pm

การส่งอีเมล์ด้วยวิธีนี้ไม่จำเป็นต้องมี mail server โดยสิ่งที่จำเป็นต้องมีคือ email ของ gmail และ phpmailer class

1. เริ่มต้นด้วยการดาวน์โหลด PHPMailer class มาก่อน

2. ทำการแตกไฟล์ลงในโฟลเดอร์ root


3. สร้างไฟล์ .php ที่เรียก include file class.phpmailer.php จาก directory ที่ได้จากการแตกไฟล์

4. ตัวอย่างโค้ดที่จำเป็นเบื้องต้น เช่น

โค้ด: เลือกทั้งหมด

require_once('PHPMailer/PHPMailerAutoload.php');

$mail             = new PHPMailer(); //เรียกใช้งาน class phpmailer
$mail->IsSMTP(); // เปิดการใช้งาน SMTP
$mail->SMTPSecure = "ssl";
$mail->SMTPAuth   = true;                  // เปิดการใช้งานการตรวจสอบสิทธิ์
$mail->Host       = "smtp.gmail.com"; // เรียกใช้ SMTP server ของ Gmail
$mail->Port       = 465;                    // กำหนด SMTP port ของ Gmail server
$mail->Username   = "shinobimake@gmail.com"; // E-mail account Gmail ของผู้ใช้
$mail->Password   = "nattapoltaklarmake111";        // Password ของ E-mail ที่ได้กำหนดไว้ข้างต้น
$mail->isHTML(true);
$mail->SetFrom('shinobimake@gmail.com', 'First Last');  // กำหนด E-mail และชื่อผู้ส่ง
$mail->Subject    = "My Subject";  //กำหนดหัวเรื่อง
$mail->Body = "My Detail"; //กำหนดเนื้อหาข้อความภายใน E-mail
$mail->AddAddress("PM.com", "John Doe"); //กำหนด E-mail และชื่อของผู้รับ

if(!$mail->Send()) { //ดำเนินการส่งอีเมล์และตรวจสอบผลการทำงาน
  echo "Mailer Error: " . $mail->ErrorInfo; //แสดงข้อผิดพลาดของการทำงาน
} else {
  echo "Message sent!"; //แสดงผลการทำงานเมื่อดำเนินการสำเร็จ
}

* หมายเหตุ
- กรณีที่ทดสอบในเครื่อง localhost จะต้องเปิดใช้งาน php_openssl ใน php.ini ก่อน
- กรณีที่เชื่อมต่อ SMTP ไม่ได้ อาจเกิดจากปัญหาการตั้งค่าความปลอดภัยของ Gmail แก้ไขได้ด้วยการปิดการป้องกันการเข้าถึงที่มีความปลอดภัยน้อย
- code ข้างต้นสามารถทำงานได้ใน php v.5.2

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 5 และ บุคคลทั่วไป 0 ท่าน