Devdit
 

ติดตั้ง PHPMailer ด้วย Composer

1.2K

บทความนี้สอนวิธีติดตั้ง PHPMailer ด้วย Composer เพื่อใช้สำหรับส่งอีเมลด้วยภาษา PHP โดยมีขั้นตอนดังนี้

 

1. ติดตั้ง Composer ก่อน กรณียังไม่ได้ติดตั้งแนะนำให้อ่านบทความนี้ก่อน

 

2. กรณีติดตั้ง Composer แล้วให้เปิด Command Prompt แล้วพิมพ์คำสั่งด้านล่าง โปรแกรม PHPMailer จะถูกดาวน์โหลดมาไว้ที่ตำแหน่ง ที่ทำงานใน Command Prompt

composer require phpmailer/phpmailer

 

3. กรณีติดตั้งสำเร็จจะขึ้นหน้าจอตามรูป (เวอร์ชั่นเปลี่ยนตามที่ติดตั้ง)

 

4. โปรแกรม PHPMailer จะอยู่ใน Folder vendor ให้คัดลอกทั้ง Folder vendor ไปวางไว้ที่เดียวกับโปรเจคเว็บไซต์ที่ต้องการใช้งาน และเขียนโค้ดเพื่อใช้งาน PHPMailer ได้เลย

 

ตัวอย่าง โค้ดส่งอีเมลด้วย PHPMailer 

<?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;

    require 'vendor/autoload.php';
    $mail = new PHPMailer(true);

    try {
        //Server settings
        $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
        $mail->isSMTP();                                            //Send using SMTP
        $mail->Host = 'mail.xxx.com';                         		//Set the SMTP server to send through
        $mail->SMTPAuth = true;                                   	//Enable SMTP authentication
        $mail->Username = 'yyy@xxx.com';                          	//SMTP username
        $mail->Password = 'xxx';                                  	//SMTP password
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;         //Enable implicit TLS encryption
        $mail->Port = 587;                                    		//TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
        $mail->SMTPOptions = array(
            'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
            )
        );
        $mail->CharSet = 'UTF-8';

        $mail->setFrom('yyy@xxx.com', 'ชื่อผู้ส่ง');                     // ส่งโดย
        $mail->addAddress('yyy@xxx.com', 'ชื่อผู้รับ');                  // ผู้รับ

        //Content
        $mail->isHTML(true);
        $mail->Subject = 'หัวข้อ';
        $mail->Body    = 'ข้อความ';
    
        $mail->send();
        echo 'อีเมลส่งสำเร็จ';
    } catch (Exception $e) {
        echo "อีเมลส่งไม่ได้เนื่องจาก: {$mail->ErrorInfo}";
    }
?>

ส่วนที่ต้องแก้ไข

1. $mail->Host = 'mail.xxx.com' แก้เป็นชื่อโดเมนของตัวเอง เช่น mail.ชื่อโดเมน.com

2. $mail->Username = 'yyy@xxx.com' แก้เป็นอีเมลของโดเมน เช่น support@ชื่อโดเมน.com

3. $mail->Password = 'xxx' แก้เป็นรหัสผ่านของอีเมล ของข้อ 2.

4. $mail->setFrom('yyy@xxx.com', 'ชื่อผู้ส่ง') แก้เป็นอีเมลที่ทำหน้าที่ส่ง (ต้นทาง) และชื่อผู้ส่ง เปลี่ยนตามที่ต้องการ

5. $mail->addAddress('yyy@xxx.com', 'ชื่อผู้รับ') แก้เป็นอีเมลที่รับ (ปลายทาง) และชื่อผู้รับ เปลี่ยนตามที่ต้องการ

 

ตัวอย่าง PHPMailer ส่งอีเมลบน localhost และ Server ด้วย SMTP ของ Gmail

แก้ไข 11 เดือนที่แล้ว
ชอบ
ลิ้งก์
แชร์