send_email

วิธีการใช้ฟังก์ชัน send_email

ฟังก์ชัน send_email ใช้สำหรับส่งอีเมลผ่านโปรโตคอล SMTP โดยใช้ข้อมูลการตั้งค่าจากฐานข้อมูล (admin_mail_server) หรือเซิร์ฟเวอร์ที่กำหนด

  • พารามิเตอร์

    • $to (required) - อาร์เรย์ของที่อยู่อีเมลและชื่อผู้รับ เช่น ["ชื่อผู้รับ" => "[email protected]"]

    • $subjet (required) - หัวเรื่องของอีเมล

    • $body (required) - เนื้อหาของอีเมลในรูปแบบ HTML

    • $server (optional, default = null) - ระบุเซิร์ฟเวอร์อีเมลที่ต้องการใช้ หากไม่ได้ระบุ ฟังก์ชันจะใช้เซิร์ฟเวอร์อีเมลที่ตั้งค่าดีฟอลต์ในฐานข้อมูล

ตัวอย่างการใช้งาน

  1. ส่งอีเมลโดยใช้เซิร์ฟเวอร์ค่าเริ่มต้น

    $to = ["ผู้รับ" => "[email protected]"];
    $subject = "ทดสอบการส่งอีเมล";
    $body = "<h1>นี่คืออีเมลทดสอบ</h1><p>ส่งจากระบบ</p>";
    
    $result = $_PNA->send_email($to, $subject, $body);
    
    if ($result['status']) {
        echo "ส่งอีเมลสำเร็จ!";
    } else {
        echo "เกิดข้อผิดพลาด: " . $result['msg'];
    }

    ผลลัพธ์: จะส่งอีเมลไปยังที่อยู่อีเมลที่ระบุใน $to โดยใช้เซิร์ฟเวอร์ที่ตั้งค่าในฐานข้อมูล

  2. ส่งอีเมลโดยใช้เซิร์ฟเวอร์ที่กำหนดเอง

    $to = ["ผู้รับ" => "[email protected]"];
    $subject = "ทดสอบการส่งอีเมลผ่านเซิร์ฟเวอร์ที่กำหนด";
    $body = "<h1>นี่คืออีเมลทดสอบ</h1><p>ส่งจากเซิร์ฟเวอร์ที่กำหนด</p>";
    $server = true;
    
    $result = $_PNA->send_email($to, $subject, $body, $server);
    
    if ($result['status']) {
        echo "ส่งอีเมลสำเร็จ!";
    } else {
        echo "เกิดข้อผิดพลาด: " . $result['msg'];
    }

    ผลลัพธ์: จะส่งอีเมลไปยังที่อยู่อีเมลที่ระบุใน $to โดยใช้เซิร์ฟเวอร์ที่กำหนดผ่าน $server

ผลลัพธ์ที่ได้:

  • หากส่งอีเมลสำเร็จ จะคืนค่าอาร์เรย์ที่มีสถานะ true

  • หากส่งอีเมลไม่สำเร็จ จะคืนค่าอาร์เรย์ที่มีสถานะ false และข้อความแสดงข้อผิดพลาดจาก PHPMailer

หมายเหตุ: ฟังก์ชันนี้ใช้ไลบรารี PHPMailer ในการจัดการและส่งอีเมล โดยมีการตั้งค่าการเชื่อมต่อกับ SMTP ตามที่กำหนดในฐานข้อมูลหรือเซิร์ฟเวอร์ที่กำหนด

Last updated