SMTP Mail คืออะไร?

SMTP mail

ผู้เข้าชม 159 uip

ถ้าคุณเคยเจอปัญหาเหล่านี้

  • ส่งฟอร์มติดต่อแล้วอีเมลไม่ถึง
  • กดรีเซ็ตรหัสผ่าน แต่ไม่มีอีเมลเข้า
  • WooCommerce ส่งอีเมลยืนยันคำสั่งซื้อไม่สำเร็จ

มีโอกาสสูงที่ปัญหาจะเกี่ยวกับ ระบบส่ง email ของเว็บไซต์ WordPress

บทความนี้จะอธิบายว่า SMTP คืออะไร เกี่ยวข้องกับ WordPress อย่างไร และทำไมเว็บไซต์ส่วนใหญ่จึงควรใช้ SMTP แทนการส่งอีเมลแบบเดิม (php mail)

SMTP คืออะไร

SMTP ย่อมาจาก Simple Mail Transfer Protocol เป็นมาตรฐานสำหรับ การส่งอีเมลผ่านอินเทอร์เน็ต

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

ลองนึกภาพว่า

  • เว็บไซต์ของคุณ คือคนเขียนจดหมาย
  • SMTP คือบริษัทขนส่ง
  • Gmail หรือ Outlook คือบ้านของผู้รับ

SMTP มีหน้าที่รับจดหมายจากเว็บไซต์ แล้วนำไปส่งยังปลายทาง

WordPress ส่งอีเมลอย่างไร

หลายคนคิดว่า WordPress ส่งอีเมลเอง แต่จริง ๆ แล้วไม่ใช่

โดยค่าเริ่มต้น WordPress จะทำงานประมาณนี้

WordPress
    │
    ▼
wp_mail()
    │
    ▼
PHP mail()
    │
    ▼
Mail Server ของ Hosting

1. wp_mail()

เป็นฟังก์ชันของ WordPress สำหรับส่งอีเมล

ปลั๊กอินส่วนใหญ่ เช่น Contact Form, WooCommerce หรือระบบสมัครสมาชิก ต่างก็เรียกใช้ wp_mail() ทั้งหมด

2. PHP mail()

wp_mail() ไม่ได้ส่งอีเมลเอง แต่โดยปกติจะเรียกใช้ฟังก์ชัน mail() ของ PHP อีกทอดหนึ่ง

จากนั้น PHP จะส่งอีเมลผ่าน Mail Server ของโฮสติ้ง

แล้วปัญหาอยู่ตรงไหน?

ปัญหาคือการส่งผ่าน PHP mail() ขึ้นอยู่กับคุณภาพของเซิร์ฟเวอร์โฮสติ้ง

ตัวอย่างเช่น

  • โฮสติ้งปิดการใช้งาน mail()
  • จำกัดจำนวนอีเมลต่อชั่วโมง
  • IP ของเซิร์ฟเวอร์มีชื่อเสียงไม่ดี
  • ไม่มีการยืนยันตัวตนของผู้ส่งที่เหมาะสม

ผลลัพธ์คือ

  • ส่งไม่ออก
  • ส่งช้า
  • เข้าโฟลเดอร์ Spam
  • บางครั้งผู้รับไม่ได้รับอีเมลเลย

SMTP Plugin ช่วยอะไร?

เมื่อคุณติดตั้งปลั๊กอิน SMTP เช่น WP Mail SMTP หรือ FluentSMTP เส้นทางการส่งอีเมลจะเปลี่ยนเป็น

WordPress
    │
    ▼
wp_mail()
    │
    ▼
SMTP Plugin
    │
    ▼
SMTP Server
    │
    ▼
Mail Server ของผู้รับ

สังเกตว่า WordPress ยังใช้ wp_mail() เหมือนเดิม

แต่ปลั๊กอินจะเปลี่ยนจากการใช้ PHP mail() ไปส่งผ่าน SMTP Server แทน

จึงทำให้การส่งอีเมลมีความเสถียรและตรวจสอบปัญหาได้ง่ายกว่า

SMTP Server คืออะไร

SMTP Server คือเซิร์ฟเวอร์ที่รับหน้าที่ส่งอีเมลแทนเว็บไซต์ของคุณ

อาจเป็น

  • SMTP ของโฮสติ้ง
  • SMTP ขององค์กร
  • ผู้ให้บริการส่งอีเมลโดยเฉพาะ เช่น Brevo, Mailgun หรือ Amazon SES

หน้าที่ของมันคือรับอีเมลจากเว็บไซต์ ตรวจสอบข้อมูลผู้ส่ง แล้วส่งต่อไปยัง Mail Server ของผู้รับ

SMTP กับ PHP mail() ต่างกันอย่างไร

PHP mail()SMTP
ใช้ระบบส่งเมลของเซิร์ฟเวอร์ส่งผ่าน SMTP Server
ไม่ต้องตั้งค่าต้องตั้งค่าครั้งแรก
มีโอกาสส่งไม่ถึงมากกว่าโดยทั่วไปเสถียรกว่า
ตรวจสอบปัญหาได้ยากมี Log และข้อความแจ้งข้อผิดพลาด
เหมาะกับการทดสอบเหมาะกับเว็บไซต์ที่ใช้งานจริง

ถ้าเป็นเว็บไซต์ธุรกิจ ร้านค้าออนไลน์ หรือเว็บที่มีลูกค้าจริง แนะนำให้ใช้ SMTP ตั้งแต่แรก

SMTP ใช้ส่งอีเมลอะไรได้บ้าง

อีเมลที่เว็บไซต์ส่งออกแทบทั้งหมดใช้ SMTP เช่น

  • สมัครสมาชิก
  • ยืนยันอีเมล
  • รีเซ็ตรหัสผ่าน
  • แจ้งคำสั่งซื้อ
  • ใบเสนอราคา
  • ใบแจ้งหนี้
  • แบบฟอร์มติดต่อ
  • Newsletter
  • Transactional Email

แล้ว SMTP ใช้รับอีเมลหรือไม่?

ไม่

SMTP มีหน้าที่ ส่งอีเมลเท่านั้น

ส่วนการรับอีเมลจะใช้โปรโตคอลอื่น เช่น

โปรโตคอลหน้าที่
SMTPส่งอีเมล
IMAPอ่านและซิงก์อีเมล
POP3ดาวน์โหลดอีเมล

ใช้ SMTP แล้วอีเมลจะเข้า Inbox แน่นอนไหม?

ไม่เสมอไป

SMTP เป็นเพียง “วิธีการส่งอีเมล”

การจะเข้า Inbox หรือไม่ ยังขึ้นอยู่กับปัจจัยอื่น เช่น

  • SPF
  • DKIM
  • DMARC
  • ชื่อเสียงของโดเมน (Domain Reputation)
  • ชื่อเสียงของ IP
  • เนื้อหาอีเมล
  • พฤติกรรมการส่งอีเมล

ดังนั้น การตั้งค่า SMTP อย่างเดียวอาจยังไม่เพียงพอ หากต้องการให้ระบบส่งอีเมลมีประสิทธิภาพสูงสุด ควรตั้งค่า DNS และยืนยันตัวตนของโดเมนให้ครบด้วย

ควรใช้ SMTP ของโฮสติ้ง หรือผู้ให้บริการเฉพาะ?

ขึ้นอยู่กับการใช้งาน

SMTP ของโฮสติ้ง

เหมาะกับ

  • เว็บไซต์ส่วนตัว
  • เว็บไซต์บริษัทขนาดเล็ก
  • เว็บที่ส่งอีเมลไม่มาก

ข้อดีคือใช้งานง่ายและไม่มีค่าใช้จ่ายเพิ่ม

ผู้ให้บริการ SMTP โดยเฉพาะ

เหมาะกับ

  • WooCommerce
  • เว็บไซต์ธุรกิจ
  • SaaS
  • ระบบที่ส่งอีเมลจำนวนมาก

ข้อดีคือส่งอีเมลได้เสถียรกว่า มีระบบติดตามการส่ง และรองรับการจัดการ Bounce หรือ Complaint ได้ดีกว่า

สรุป

ถ้าจะอธิบายให้สั้นที่สุด การส่งอีเมลของ WordPress มี 2 รูปแบบ

ค่าเริ่มต้น

WordPress
→ wp_mail()
→ PHP mail()
→ Mail Server ของ Hosting

เมื่อใช้ SMTP

WordPress
→ wp_mail()
→ SMTP Plugin
→ SMTP Server
→ Mail Server ของผู้รับ

จะเห็นว่า WordPress ยังใช้ wp_mail() เหมือนเดิม แต่เปลี่ยนวิธีส่งอีเมลจาก PHP mail() ไปใช้ SMTP Server แทน

สำหรับเว็บไซต์ที่ใช้งานจริง นี่เป็นวิธีที่แนะนำ เพราะช่วยให้ส่งอีเมลได้เสถียร ตรวจสอบปัญหาได้ง่าย และรองรับการตั้งค่าความปลอดภัยและการยืนยันตัวตนของผู้ส่งได้ดีกว่า

สรุปสั้น ๆ

  • wp_mail() คือฟังก์ชันส่งอีเมลของ WordPress
  • PHP mail() คือวิธีส่งอีเมลเริ่มต้นที่ WordPress ใช้
  • SMTP คือมาตรฐานสำหรับส่งอีเมลผ่านเซิร์ฟเวอร์ SMTP
  • SMTP Plugin คือเครื่องมือที่เปลี่ยน WordPress จากการใช้ PHP mail() ไปใช้ SMTP ซึ่งเป็นวิธีที่เหมาะกับเว็บไซต์ส่วนใหญ่ในปัจจุบัน

คำถามที่พบบ่อย

WordPress จำเป็นต้องใช้ SMTP หรือไม่?

ไม่จำเป็น แต่ถ้าเว็บไซต์มีการส่งอีเมลถึงลูกค้า เช่น ฟอร์มติดต่อ ระบบสมาชิก หรือ WooCommerce แนะนำให้ใช้ SMTP เพื่อความเสถียร

SMTP กับ Email API อันไหนดีกว่า?

ทั้งสองแบบส่งอีเมลได้เหมือนกัน แต่ Email API มักทำงานได้เร็วและมีฟีเจอร์มากกว่า ส่วน SMTP ติดตั้งง่ายและรองรับปลั๊กอิน WordPress เกือบทั้งหมด

ใช้ Gmail เป็น SMTP ได้หรือไม่?

ได้ เหมาะกับเว็บไซต์ขนาดเล็กหรือการใช้งานส่วนตัว แต่หากเป็นเว็บไซต์ธุรกิจหรือมีการส่งอีเมลจำนวนมาก ควรใช้บริการที่ออกแบบมาสำหรับการส่งอีเมลโดยเฉพาะ