
หากคุณเป็นนักพัฒนาเว็บไซต์ด้วยภาษา PHP แล้วต้องการฟังก์ชันการส่งอีเมลอย่างปลอดภัย ยืดหยุ่น และมืออาชีพมากกว่าฟังก์ชัน mail()
แบบดั้งเดิม คำตอบก็คือ PHPMailer
ในบทความนี้ เราจะพาคุณไปรู้จักว่า PHPMailer คืออะไร? มีความสามารถอะไรบ้าง? ใช้งานอย่างไร? และทำไมจึงกลายเป็นเครื่องมือมาตรฐานในการส่งอีเมลด้วย PHP
หัวข้อ
PHPMailer คืออะไร?
PHPMailer คือไลบรารี (Library) แบบ Open Source ที่ใช้สำหรับส่งอีเมลผ่านภาษา PHP ได้อย่างปลอดภัยและมีประสิทธิภาพ โดยรองรับฟีเจอร์ขั้นสูง เช่น
- การส่งอีเมลแบบ SMTP
- รองรับการเข้ารหัส SSL/TLS
- แนบไฟล์ (Attachments)
- ส่ง HTML email หรือ plain text
- ตั้งค่า From, CC, BCC, Reply-to ได้อย่างยืดหยุ่น
PHPMailer ถูกใช้โดยนักพัฒนาทั่วโลก และเป็นหนึ่งในไลบรารีส่งอีเมลที่นิยมที่สุดใน PHP
ฟีเจอร์เด่นของ PHPMailer
- ✅ รองรับ SMTP Authentication
- ✅ ใช้ได้กับ Gmail SMTP, Outlook, และ Mail Server อื่น ๆ
- ✅ รองรับ HTML / รูปภาพในอีเมล
- ✅ แนบไฟล์หลายประเภท
- ✅ ป้องกัน Header Injection และฟอร์แมตอีเมลที่ผิดพลาด
- ✅ ทำงานร่วมกับ Composer ได้
วิธีติดตั้ง PHPMailer
มี 2 วิธีหลักในการติดตั้ง PHPMailer
1. ผ่าน Composer (แนะนำสำหรับโปรเจกต์สมัยใหม่)
composer require phpmailer/phpmailer
2. ดาวน์โหลดไฟล์จาก GitHub
- ดาวน์โหลดจาก: https://github.com/PHPMailer/PHPMailer
- จากนั้นนำไฟล์ไปใส่ในโฟลเดอร์โปรเจกต์ของคุณ
ตัวอย่างการส่งอีเมลด้วย PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com'; // ใช้ SMTP Server ของ Gmail
$mail->SMTPAuth = true;
$mail->Username = 'your@email.com';
$mail->Password = 'your-password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('your@email.com', 'Your Name');
$mail->addAddress('recipient@email.com', 'Recipient Name');
$mail->isHTML(true);
$mail->Subject = 'ทดสอบการส่งอีเมลด้วย PHPMailer';
$mail->Body = '<h1>สวัสดี!</h1><p>อีเมลนี้ส่งผ่าน PHPMailer</p>';
$mail->send();
echo 'ส่งอีเมลสำเร็จ';
} catch (Exception $e) {
echo "ส่งอีเมลไม่สำเร็จ: {$mail->ErrorInfo}";
}
PHPMailer ใช้กับอะไรได้บ้าง?
- แบบฟอร์มติดต่อ (Contact Form)
- ระบบแจ้งเตือนผ่านอีเมล (Notification Email)
- ระบบสมัครสมาชิก / Reset รหัสผ่าน
- ส่งใบแจ้งหนี้ (Invoice PDF) หรือไฟล์แนบ
- Email Newsletter เบื้องต้น
คำแนะนำเรื่องความปลอดภัย
- อย่าใส่รหัสผ่าน SMTP ไว้ในไฟล์โค้ดโดยตรง ควรใช้
.env
หรือ Config แยกต่างหาก - เปิดใช้งาน 2-Step Authentication และใช้ “App Password” หากใช้ Gmail
- ตรวจสอบว่า Mail Server ของคุณอนุญาตให้ส่งอีเมลจากโดเมนที่ตั้งค่าไว้
แหล่งเรียนรู้เพิ่มเติม
- GitHub Official: https://github.com/PHPMailer/PHPMailer
- เอกสารการใช้งาน: https://github.com/PHPMailer/PHPMailer/wiki
- StackOverflow (แท็ก:
phpmailer
) - เว็บไซต์สอนเขียนโปรแกรม เช่น W3Schools, PHP.net
สรุป
หากคุณต้องการส่งอีเมลจากเว็บไซต์ PHP อย่างปลอดภัย ยืดหยุ่น และดูเป็นมืออาชีพ PHPMailer คือเครื่องมือที่เหมาะที่สุด ด้วยการติดตั้งง่าย รองรับ SMTP และสามารถส่งได้ทั้งแบบ HTML, แนบไฟล์ และอื่นๆ
ติดต่อเรา
- Facebook : Moon Knight Creator
- LINE : https://lin.ee/EbIAGuf
- เว็บไซต์ : www.moonknightcreator.com
- แผนที่ : https://maps.app.goo.gl/periouvPvt8SF9kTA