บทความนี้สอนวิธีการตั้งค่า Account Gmail และ PHPMailer ให้สามารถส่งอีเมลโดยใช้ SMTP ของ Gmail ได้โดยรองรับการส่งอีเมลทั้งบน localhost และบน Server จริง โดยมีรายละเอียดดังนี้
1. ตั้งค่าการรักษาความปลอดภัยของอีเมล Gmail
1.1 ล็อกอินเข้า Gmail ให้เรียบร้อย
1.2 เข้าที่ https://myaccount.google.com/security ปิด การยืนยันแบบ 2 ขั้นตอน
1.3 เข้าที่ https://myaccount.google.com/u/0/lesssecureapps เปิด การเข้าถึงของแอปที่มีความปลอดภัยน้อย
กรณีไม่ดำเนินการตามขั้นตอนด้านบนจะทำให้ไม่สามารถส่งอีเมลได้เนื่องจากติดระบบการรักษาความปลอดภัยของ Gmail
2. ตั้งค่า PHPMailer เพื่อส่งอีเมลด้วย SMTP ของ Gmail
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->Host = 'ssl://smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'username@gmail.com';
$mail->Password = 'yourpassword';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->CharSet = 'UTF-8';
ส่วนที่ต้องการแก้ไข
1. ตัวแปร $mail->Username = 'username@gmail.com' กำหนดเป็นชื่ออีเมลของ gmail.com ที่ทำในขั้นตอน ตั้งค่าการรักษาความปลอดภัยของอีเมล Gmail
2. ตัวแปร $mail->Password = 'yourpassword' เป็นรหัสผ่านของ gmail ของข้อ 1.