
ปัญหา WordPress ส่งอีเมลไม่ได้ หรืออีเมลตกไปอยู่ในกล่อง Spam ของลูกค้า เป็นเรื่องที่เจ้าของเว็บไซต์พบบ่อยมาก ไม่ว่าจะเป็นอีเมลยืนยันการสมัครสมาชิก อีเมลรีเซ็ตรหัสผ่าน หรืออีเมลแจ้งคำสั่งซื้อจาก WooCommerce ทุกอย่างต้องพึ่งพาระบบส่งอีเมลที่เชื่อถือได้ บทความนี้จะอธิบายวิธีตั้งค่า SMTP บน WordPress ที่ใช้ Shared Hosting ให้ส่งอีเมลได้อย่างน่าเชื่อถือและไม่ตก Spam
บทความนี้ครอบคลุม: การเข้าใจสาเหตุที่ WordPress ส่งอีเมลไม่ได้, ความแตกต่าง PHP mail() กับ SMTP, การติดตั้ง WP Mail SMTP, การตั้งค่ากับ DirectAdmin Email Hosting ของ AsiaGB, การใช้ Gmail SMTP, การตั้งค่า SPF/DKIM และการแก้ปัญหาที่พบบ่อย
1. ทำไม WordPress ถึงส่งอีเมลไม่ได้บน Hosting
WordPress ใช้ฟังก์ชัน wp_mail() ในการส่งอีเมลทุกประเภท ซึ่งโดยค่าเริ่มต้นจะเรียกใช้ PHP mail() function ที่ติดตั้งมาพร้อมกับเซิร์ฟเวอร์ แต่บน Shared Hosting นั้น PHP mail() มักมีข้อจำกัดหลายอย่างที่ทำให้อีเมลส่งไม่สำเร็จหรือตก Spam
สาเหตุหลักที่ WordPress ส่งอีเมลไม่ได้
- IP ที่ใช้ร่วมกัน: บน Shared Hosting เซิร์ฟเวอร์หนึ่งอาจมีเว็บไซต์หลายร้อยเว็บใช้ IP เดียวกัน ถ้ามีเว็บไหนส่ง Spam IP ของทั้งกลุ่มจะถูก Blacklist ทำให้อีเมลของคุณถูกบล็อกตามไปด้วย โดยที่คุณไม่ได้ทำอะไรผิด
- ขาดการยืนยันตัวตน: PHP mail() ไม่มีกลไก Authentication ทำให้ Mail Server ปลายทางไม่แน่ใจว่าอีเมลถูกส่งมาจากแหล่งที่ถูกต้อง จึงมักปฏิเสธหรือส่งเข้า Spam
- ไม่มี Reverse DNS (PTR Record): Hosting หลายเจ้าไม่ได้ตั้งค่า PTR Record ที่ถูกต้อง ทำให้ Mail Server ปลายทางมองว่า IP นั้นน่าสงสัย
- ขาด SPF/DKIM Records: ถ้าโดเมนของคุณไม่มี SPF หรือ DKIM, Gmail, Outlook และ Mail Server อื่นๆ จะส่งอีเมลเข้า Spam โดยอัตโนมัติ
- Port 25 ถูกบล็อก: ISP และ Hosting หลายเจ้าบล็อก Port 25 เพื่อป้องกัน Spam ทำให้ PHP mail() ที่ใช้ Port 25 ส่งไม่ได้
- การตั้งค่า sendmail ไม่ถูกต้อง: เซิร์ฟเวอร์บางเครื่องไม่ได้ติดตั้ง sendmail หรือตั้งค่าไม่ถูกต้อง ทำให้ PHP mail() ส่งคืน false เสมอโดยไม่มี Error ชัดเจน
- Hostname ไม่ตรงกับโดเมน: เมื่อ PHP mail() ส่งอีเมล Hostname ที่ปรากฏในอีเมล Header อาจเป็น IP Address หรือ Hostname ของ Server ที่ไม่ใช่โดเมนของคุณ ทำให้ดูน่าสงสัย
วิธีแก้ไขที่ดีที่สุดคือเปลี่ยนไปใช้ SMTP (Simple Mail Transfer Protocol) ซึ่งมีการยืนยันตัวตนด้วย Username และ Password และใช้การเชื่อมต่อที่เข้ารหัส ทำให้ Mail Server ปลายทางไว้วางใจมากขึ้นอย่างมีนัยสำคัญ
2. PHP mail() vs SMTP ต่างกันอย่างไร
ก่อนจะลงมือตั้งค่า มาทำความเข้าใจความแตกต่างระหว่างสองวิธีนี้กันก่อน เพื่อให้เห็นภาพชัดเจนว่าทำไม SMTP ถึงเป็นตัวเลือกที่ดีกว่าสำหรับ WordPress บน Hosting
PHP mail() — วิธีดั้งเดิมที่มีปัญหา
- ส่งอีเมลโดยตรงจากเซิร์ฟเวอร์โดยไม่ผ่านการ Authentication ใดๆ
- ใช้ sendmail หรือ Postfix ที่ติดตั้งบนเซิร์ฟเวอร์ ไม่ต้องการ Login
- ไม่มีการเข้ารหัส ข้อมูลส่งผ่านเครือข่ายแบบ Plain Text
- ไม่มี Email Log ที่ดีพอสำหรับ Debug ปัญหา
- อัตราการตก Spam สูงมาก โดยเฉพาะบน Shared Hosting
- ไม่สามารถ Retry ได้อัตโนมัติเมื่อส่งล้มเหลว
- ไม่รองรับ From Address ที่กำหนดเองได้อย่างสมบูรณ์
SMTP — วิธีมาตรฐานที่เชื่อถือได้
- ต้อง Login ด้วย Username และ Password ก่อนส่งทุกครั้ง แสดงว่ามีสิทธิ์ส่ง
- รองรับการเข้ารหัส SSL/TLS และ STARTTLS อย่างสมบูรณ์
- ส่งผ่าน Mail Server ที่มี Reputation ดี เช่น Gmail, Outlook หรือ DirectAdmin Email ของ AsiaGB
- มี Email Log ที่ละเอียด ติดตามสถานะการส่งได้
- อัตราการ Deliver ถึง Inbox สูงกว่า PHP mail() มาก
- รองรับ SPF และ DKIM Authentication อัตโนมัติ
- มี Error Handling ที่ดีกว่า ทราบสาเหตุที่แน่ชัดเมื่อส่งล้มเหลว
สรุปสำคัญ: SMTP คือมาตรฐานอุตสาหกรรมสำหรับการส่งอีเมล ถ้าเว็บไซต์ของคุณต้องพึ่งพาอีเมลเพื่อสื่อสารกับลูกค้า ให้เปลี่ยนจาก PHP mail() มาใช้ SMTP เสมอโดยไม่มีข้อยกเว้น
3. ติดตั้งและตั้งค่า Plugin WP Mail SMTP
WP Mail SMTP คือ Plugin ที่ได้รับความนิยมสูงสุดสำหรับแก้ปัญหาการส่งอีเมลบน WordPress มีผู้ใช้งานมากกว่า 4 ล้านเว็บไซต์ทั่วโลก พัฒนาโดยทีม WPForms และมีรุ่นฟรีที่ครอบคลุมความต้องการพื้นฐานได้ครบถ้วน
ขั้นตอนการติดตั้ง WP Mail SMTP
- เข้า WordPress Admin Panel → Plugins → Add New
- ค้นหา "WP Mail SMTP" ในช่องค้นหา
- หา Plugin ชื่อ "WP Mail SMTP by WPForms" กด Install Now
- รอ Install เสร็จ แล้วกด Activate
- ระบบจะแสดง Setup Wizard ขึ้นมา สามารถกด "Skip this step" เพื่อตั้งค่าเองได้
- ไปที่ WP Mail SMTP → Settings ในเมนูซ้าย
การตั้งค่าพื้นฐาน (From Email และ From Name)
ในหน้า Settings ส่วน General ให้ตั้งค่าดังนี้
- From Email: ใส่อีเมลที่ต้องการแสดงเป็นผู้ส่ง เช่น
[email protected]หรือ[email protected]แนะนำให้ใช้อีเมลที่มีโดเมนของคุณเองเสมอ เพื่อให้ SPF/DKIM ทำงานได้ถูกต้อง - From Name: ใส่ชื่อที่ต้องการแสดงในช่อง "From:" ของอีเมล เช่น ชื่อร้านหรือชื่อเว็บไซต์
- Force From Email: เปิดตัวเลือกนี้ เพื่อให้ทุก Plugin บน WordPress ใช้ From Email ที่ตั้งไว้ที่นี่ ป้องกัน Plugin บางตัวที่ Override ค่าตามใจตัวเอง
- Force From Name: เปิดตัวเลือกนี้ด้วยเพื่อเหตุผลเดียวกัน
เลือก Mailer ที่เหมาะสม
WP Mail SMTP รองรับ Mailer หลายประเภท แต่ละอย่างเหมาะกับสถานการณ์ต่างกัน
- Other SMTP — สำหรับ DirectAdmin Email Hosting ของ AsiaGB หรือ SMTP Server ทั่วไป เหมาะที่สุดถ้าใช้ Email Hosting บนโดเมนตัวเอง
- Gmail / Google Workspace — สำหรับบัญชี Gmail หรือ Google Workspace ใช้ได้ดีแต่มีขีดจำกัดจำนวนอีเมลต่อวัน
- Outlook / Office365 — สำหรับบัญชี Microsoft ตัวเลือกดีสำหรับองค์กรที่ใช้ Microsoft 365
- Brevo (SendinBlue), SendGrid, Mailgun, Amazon SES — สำหรับส่งอีเมลปริมาณมาก มีค่าใช้จ่ายแต่ Reliability สูงมาก
- PHP mail() — ค่าเริ่มต้นเดิม ไม่แนะนำ
4. ตั้งค่า SMTP กับ DirectAdmin Email Hosting ของ AsiaGB
ถ้าคุณใช้ Hosting ของ AsiaGB คุณมีบัญชีอีเมลของโดเมนตัวเองอยู่แล้วและสามารถใช้เป็น SMTP Server สำหรับ WordPress ได้ทันทีโดยไม่มีค่าใช้จ่ายเพิ่มเติม วิธีนี้ดีที่สุดสำหรับเว็บไซต์ส่วนใหญ่ เพราะอีเมลส่งจากโดเมนของคุณเองทำให้ดูน่าเชื่อถือสำหรับผู้รับ
ขั้นตอนที่ 1: สร้างบัญชีอีเมลใน DirectAdmin
- Login เข้า DirectAdmin ที่
yourdomain.com:2222 - ในหมวด E-Mail Manager คลิก "Create Mail Account"
- ใส่ Username เช่น
noreplyหรือwordpress - ตั้ง Password ที่แข็งแกร่ง (ควรมีตัวอักษรพิมพ์ใหญ่/เล็ก ตัวเลข และอักขระพิเศษ)
- Quota: 50MB ก็เพียงพอสำหรับ SMTP เพราะอีเมลที่ส่งจะไม่ถูกเก็บในกล่องนี้
- กด Create เพื่อสร้างบัญชี
ขั้นตอนที่ 2: หาค่า SMTP Server จาก DirectAdmin
ค่า SMTP สำหรับ DirectAdmin ของ AsiaGB มักเป็นดังนี้
- SMTP Host:
mail.yourdomain.comหรือ Hostname ที่ระบุใน Welcome Email - SMTP Port:
587(STARTTLS แนะนำ) หรือ465(SSL/TLS) - Encryption:
TLSสำหรับ Port 587,SSLสำหรับ Port 465 - Authentication: เปิดใช้งาน
- Username:
[email protected](อีเมลเต็ม รวม @domain) - Password: รหัสผ่านที่ตั้งใน DirectAdmin
ขั้นตอนที่ 3: กรอกค่าใน WP Mail SMTP
- ไปที่ WP Mail SMTP → Settings
- เลื่อนลงไปที่ส่วน Mailer เลือก "Other SMTP"
- กรอกค่า SMTP Host, Port, Encryption ตามที่ระบุด้านบน
- เปิด Auto TLS ไว้
- เปิด Authentication
- ใส่ SMTP Username และ Password
- กด Save Settings
SMTP Host: mail.yourdomain.com SMTP Port: 587 Encryption: TLS Auto TLS: เปิด Authentication: เปิด SMTP Username: [email protected] SMTP Password: รหัสผ่านที่ตั้งใน DirectAdmin
หมายเหตุ: ถ้า mail.yourdomain.com ใช้ไม่ได้ ลองใช้ yourdomain.com เป็น SMTP Host แทน หรือตรวจสอบจาก Welcome Email ที่ AsiaGB ส่งให้ตอนเปิดบัญชี ซึ่งจะระบุ Mail Server Hostname ที่ถูกต้องไว้
5. ใช้ Gmail SMTP กับ WordPress (App Password)
ถ้าคุณต้องการใช้บัญชี Gmail หรือ Google Workspace ส่งอีเมล WordPress ทำได้ แต่ตั้งแต่ปี 2022 Google ไม่อนุญาตให้แอปภายนอก Login ด้วยรหัสผ่านปกติอีกต่อไป ต้องใช้ App Password แทน
เงื่อนไขที่ต้องมีก่อน
- บัญชี Gmail ต้องเปิดใช้งาน 2-Step Verification ก่อน (ไม่เปิดจะไม่เห็นตัวเลือก App Password)
- ถ้าใช้ Google Workspace บัญชี Admin ต้องอนุญาต "Less secure apps" หรือตั้งค่า OAuth2
ขั้นตอนสร้าง App Password สำหรับ Gmail
- ไปที่
myaccount.google.comแล้ว Login - คลิก Security ในเมนูด้านซ้าย
- เลื่อนหา "2-Step Verification" คลิกเข้าไป
- เลื่อนลงมาที่ด้านล่างสุด หา "App passwords"
- ในช่อง "Select app" เลือก "Mail"
- ในช่อง "Select device" เลือก "Other (Custom name)"
- ใส่ชื่อ เช่น "WordPress SMTP" แล้วกด Generate
- Google จะแสดงรหัส 16 หลัก เช่น
abcd efgh ijkl mnop - คัดลอกรหัสนี้ทันที (จะแสดงแค่ครั้งเดียวเท่านั้น)
กรอกค่า Gmail SMTP ใน WP Mail SMTP
SMTP Host: smtp.gmail.com SMTP Port: 587 Encryption: TLS Authentication: เปิด SMTP Username: [email protected] SMTP Password: App Password 16 หลัก (ลบช่องว่างออก)
กด Save Settings แล้วทดสอบส่งอีเมลทันที Gmail SMTP อนุญาตให้ส่งได้ประมาณ 500 ฉบับต่อวันสำหรับบัญชีฟรี ถ้าต้องการส่งมากกว่านี้ควรพิจารณา Google Workspace (2,000 ฉบับ/วัน) หรือบริการ Email Delivery เฉพาะทาง
ข้อควรระวังเมื่อใช้ Gmail SMTP
- ชื่อผู้ส่งที่แสดงจะเป็นชื่อ Google Account ของคุณ ไม่ใช่ชื่อธุรกิจ (เว้นแต่ใช้ Google Workspace)
- อีเมล From ที่แสดงจะเป็น Gmail ของคุณ ไม่ใช่โดเมนของเว็บ ซึ่งอาจดูไม่เป็นมืออาชีพ
- Google อาจบล็อก App Password ถ้าตรวจพบพฤติกรรมผิดปกติ
- ถ้าเปลี่ยน Password Google Account จะต้องสร้าง App Password ใหม่
คำแนะนำ: สำหรับเว็บไซต์ธุรกิจ แนะนำให้ใช้ DirectAdmin Email Hosting ของ AsiaGB (ข้อที่ 4) มากกว่า Gmail SMTP เพราะอีเมลจะแสดงโดเมนของคุณเอง ดูเป็นมืออาชีพกว่า และไม่มีขีดจำกัดการส่งจาก Google
6. ทดสอบส่งอีเมลจาก WordPress
การทดสอบอย่างละเอียดเป็นขั้นตอนสำคัญที่ไม่ควรข้ามไป แนะนำให้ทดสอบหลายกรณีเพื่อให้มั่นใจว่าระบบทำงานได้ในทุกสถานการณ์ที่เว็บไซต์ของคุณต้องการ
ทดสอบด้วย WP Mail SMTP Test Email
- ไปที่ WP Mail SMTP → Tools → Email Test
- ใส่อีเมลปลายทาง แนะนำทดสอบกับทั้ง Gmail และ Outlook เพื่อดูผลต่างกัน
- กด Send Test Email
- ตรวจสอบกล่อง Inbox และกล่อง Spam ของอีเมลปลายทาง
- ตรวจสอบ Email Log ใน WP Mail SMTP → Email Log (ถ้าเปิดใช้งาน)
ทดสอบฟังก์ชันจริงของ WordPress
หลังจากทดสอบ SMTP แล้ว ให้ทดสอบฟังก์ชันจริงของเว็บด้วย เพื่อให้มั่นใจทุก Plugin ใช้งาน SMTP ที่ตั้งไว้
- ลองสมัครสมาชิกใหม่บนเว็บ ดูว่าได้รับ Welcome Email หรือไม่
- ลอง Forgot Password ดูว่าได้รับ Reset Password Email หรือไม่
- ถ้าใช้ WooCommerce ลองสั่งซื้อสินค้าทดสอบ ดูว่าได้รับ Order Confirmation หรือไม่
- ถ้ามี Contact Form (เช่น Contact Form 7 หรือ WPForms) ลองกรอกและส่งฟอร์มทดสอบ
- ถ้ามีระบบ Notification ทดสอบว่า Admin ได้รับแจ้งเตือนตามที่ตั้งค่าไว้หรือไม่
ตรวจสอบ Email Header เพื่อยืนยัน Authentication
เมื่อได้รับอีเมลทดสอบ ให้ดู Email Header เพื่อตรวจสอบสถานะ Authentication ใน Gmail ทำได้โดยเปิดอีเมล → More (จุดสามจุด) → Show Original แล้วหาบรรทัดที่ขึ้นต้นด้วย Authentication-Results ควรเห็นค่าเหล่านี้
spf=pass (SPF ผ่าน — อีเมลมาจาก IP ที่อนุญาต) dkim=pass (DKIM ผ่าน — ลายเซ็นถูกต้อง) dmarc=pass (DMARC ผ่าน — ทั้ง SPF และ DKIM ผ่าน)
ถ้ายังไม่ผ่านทั้งหมด ต้องตั้งค่า SPF และ DKIM เพิ่มเติมตามขั้นตอนถัดไป
7. ตั้งค่า SPF และ DKIM ป้องกันเมลตก Spam
แม้จะตั้งค่า SMTP สำเร็จแล้ว ถ้าโดเมนของคุณไม่มี SPF และ DKIM อีเมลก็ยังมีโอกาสตก Spam อยู่ โดยเฉพาะเมื่อส่งไปที่ Gmail และ Outlook ที่เข้มงวดมากในเรื่องนี้ ตั้งแต่ต้นปี 2024 Google บังคับให้โดเมนที่ส่งอีเมลปริมาณมากต้องมี SPF, DKIM และ DMARC จึงจะรับอีเมลเข้า Inbox ได้
SPF Record (Sender Policy Framework)
SPF คือ DNS TXT Record ที่บอกว่า IP หรือ Hostname ไหนได้รับอนุญาตให้ส่งอีเมลในนามโดเมนของคุณ Mail Server ปลายทางจะตรวจ SPF ก่อนรับอีเมล
วิธีตั้งค่า SPF บน DirectAdmin ของ AsiaGB
- Login DirectAdmin → DNS Management → Add Record
- Type:
TXT - Name:
@(หรือ yourdomain.com ถ้าระบบถาม) - Value: ขึ้นอยู่กับว่าส่งผ่านอะไรบ้าง
ตัวอย่าง SPF Record สำหรับ DirectAdmin Email เท่านั้น
v=spf1 include:_spf.yourdomain.com ~all
ถ้าส่งผ่านทั้ง DirectAdmin Email และ Gmail ให้เพิ่ม include สำหรับ Google ด้วย
v=spf1 include:_spf.yourdomain.com include:_spf.google.com ~all
ความหมายของ Mechanism ต่างๆ ใน SPF
~all(SoftFail): อีเมลจาก IP อื่นอาจส่งผ่านได้แต่จะถูก Mark ว่าน่าสงสัย เหมาะสำหรับช่วงทดสอบ-all(HardFail): อีเมลจาก IP อื่นจะถูกปฏิเสธทันที เหมาะเมื่อมั่นใจว่า SPF ถูกต้องแล้ว?all(Neutral): ไม่แนะนำ ระบุว่าไม่มีนโยบายชัดเจน
DKIM Record (DomainKeys Identified Mail)
DKIM คือลายเซ็นดิจิทัลที่ Mail Server ของคุณฝังไว้ในทุกอีเมลที่ส่งออก Mail Server ปลายทางตรวจสอบลายเซ็นนี้กับ Public Key ที่เก็บใน DNS เพื่อยืนยันว่าอีเมลไม่ถูกดัดแปลงระหว่างทาง
DirectAdmin ของ AsiaGB ตั้งค่า DKIM ได้ดังนี้
- Login DirectAdmin → E-Mail Manager → DomainKeys (DKIM)
- ถ้ามี Key อยู่แล้ว ดู Public Key ที่แสดง
- ถ้าไม่มีให้กด "Generate New Key"
- Copy ค่า TXT Record ที่ระบบสร้างให้
- เพิ่มเป็น TXT Record ใน DNS ที่ชื่อ
default._domainkey.yourdomain.com
DMARC Record — ชั้นการป้องกันสุดท้าย
DMARC บอก Mail Server ปลายทางว่าควรทำอะไรกับอีเมลที่ SPF หรือ DKIM ไม่ผ่าน และส่งรายงานมาให้คุณทราบด้วย
DMARC Record เริ่มต้นที่ปลอดภัยที่สุด (Monitor Mode)
Name: _dmarc.yourdomain.com Type: TXT Value: v=DMARC1; p=none; rua=mailto:[email protected]
เมื่อมั่นใจว่า SPF และ DKIM ทำงานถูกต้องแล้ว (ดูจาก Email Header) ค่อยเปลี่ยนเป็น Quarantine หรือ Reject
v=DMARC1; p=quarantine; rua=mailto:[email protected] # หรือ v=DMARC1; p=reject; rua=mailto:[email protected]
ตรวจสอบ SPF/DKIM/DMARC ด้วยเครื่องมือออนไลน์
ใช้ MXToolbox Super Tool (mxtoolbox.com/SuperTool) ตรวจสอบ SPF, DKIM และ DMARC ได้ฟรี นอกจากนี้ยังมี Mail Tester (mail-tester.com) ที่ให้คะแนน Spam Score และแจ้งว่าต้องปรับปรุงอะไรอีก
8. แก้ปัญหา WordPress ส่งเมลไม่ได้ที่พบบ่อย
แม้จะตั้งค่า SMTP เรียบร้อยแล้ว บางครั้งยังอาจพบปัญหาได้ ต่อไปนี้คือปัญหาที่พบบ่อยที่สุดและวิธีแก้ไขที่ได้ผล
ปัญหา: Error "SMTP Error: Could not connect to SMTP host"
สาเหตุและวิธีแก้
- SMTP Host ไม่ถูกต้อง — ตรวจสอบ Hostname จาก Welcome Email หรือ DirectAdmin
- Port ถูกบล็อก — ลองเปลี่ยน Port จาก 587 เป็น 465 หรือในทางกลับกัน
- Firewall ของ Hosting บล็อก Outbound Connection — ติดต่อ AsiaGB Support ผ่าน Ticket
- SSL/TLS Mismatch — Port 587 ใช้ STARTTLS, Port 465 ใช้ SSL
ปัญหา: Error "SMTP Error: Password command failed"
- รหัสผ่านผิด — ตรวจสอบและ Reset Password ใน DirectAdmin
- Username ผิด — ต้องเป็นอีเมลเต็ม รวม @domain เช่น
[email protected] - บัญชีอีเมลถูกล็อก — เข้า DirectAdmin ตรวจสอบสถานะบัญชี
ปัญหา: ส่งได้แต่อีเมลตก Spam
- SPF Record ไม่ถูกต้องหรือไม่มี — ตรวจสอบและเพิ่ม SPF ตามขั้นตอนข้อ 7
- DKIM ไม่ได้ตั้งค่า — เปิด DKIM ใน DirectAdmin และเพิ่ม DNS Record
- From Email ไม่ตรงกับโดเมน — ใช้ From Email เป็น @yourdomain.com เสมอ
- เนื้อหาอีเมลมี Spam Trigger Words — หลีกเลี่ยงคำเช่น "ฟรี" "ด่วน" "คลิกที่นี่" ในหัวข้ออีเมล
- IP ของ SMTP Server อยู่ใน Blacklist — ตรวจสอบที่
mxtoolbox.com/blacklists
ปัญหา: WooCommerce Order Email ไม่ถูกส่ง
- ไปที่ WooCommerce → Settings → Emails ตรวจว่าอีเมลแต่ละประเภทเปิดอยู่
- ตรวจสอบ "Recipient" Email ที่ตั้งไว้ในแต่ละ Email Type
- กด "Send test email" ในแต่ละ Email Type เพื่อทดสอบ
- ตรวจ Email Log ใน WP Mail SMTP ว่ามี Error หรือไม่
ปัญหา: Contact Form 7 ส่งได้แต่อีเมลไม่มาถึง
WP Mail SMTP Override wp_mail() ซึ่ง CF7 ใช้ ดังนั้นถ้าตั้งค่า WP Mail SMTP ถูกต้องแล้ว CF7 ควรทำงานได้ ตรวจสอบ
- เปิด Flame Shield / Akismet ใน CF7 อาจทำให้บล็อกบางฟอร์ม
- ค่า "To" ใน CF7 ต้องเป็นอีเมลที่ถูกต้อง
- ดู Email Log ใน WP Mail SMTP เพื่อดูว่า CF7 ส่งผ่านหรือไม่
เครื่องมือ Debug SMTP
เปิด WP_DEBUG ใน wp-config.php เพื่อดู Error Log ที่ละเอียดกว่า
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
ดู Log ได้ที่ wp-content/debug.log หรือเปิด Email Log ใน WP Mail SMTP → Email Log ซึ่งจะแสดง Error Message ที่ชัดเจนกว่า
9. คำถามที่พบบ่อย (FAQ)
Q: ต้องซื้อ WP Mail SMTP Pro ไหม รุ่นฟรีพอไหม?
A: รุ่นฟรีเพียงพอสำหรับเว็บไซต์ส่วนใหญ่ รองรับ SMTP ทั่วไป, Gmail, Outlook และมี Email Test ทดสอบได้ทันที รุ่น Pro เพิ่ม Email Log ที่ละเอียด, Notification เมื่อส่งล้มเหลว, Smart Routing และ Priority Support จำเป็นสำหรับเว็บที่ส่งอีเมลปริมาณมากหรือต้องการ Reliability สูง
Q: DirectAdmin Email ของ AsiaGB มีขีดจำกัดการส่งกี่ฉบับต่อวัน?
A: Shared Hosting มีขีดจำกัดการส่งอีเมลต่อชั่วโมงเพื่อป้องกัน Spam ค่าที่แน่ชัดขึ้นอยู่กับ Plan ที่ใช้งาน สำหรับ Transactional Email ทั่วไป (Registration, Order, Contact Form) ปริมาณปกติไม่น่ามีปัญหา แต่ถ้าต้องส่ง Newsletter หรืออีเมลปริมาณมากแนะนำให้ใช้บริการ Email Delivery เฉพาะทาง
Q: ต้องมี SSL Certificate ก่อนตั้งค่า SMTP ไหม?
A: SSL Certificate ของเว็บไซต์ (HTTPS) และ SMTP Encryption เป็นคนละสิ่งกัน คุณตั้งค่า SMTP ได้โดยไม่ต้องมี SSL บนเว็บ แต่แนะนำให้ติดตั้ง SSL ด้วยอยู่แล้วเพื่อความปลอดภัยของเว็บโดยรวม
Q: Plugin ทางเลือก WP Mail SMTP ตัวอื่นที่ดีมีอะไรบ้าง?
A: มีทางเลือกที่ดี เช่น FluentSMTP (ฟรีทั้งหมด ไม่มีฟีเจอร์ติดเงิน), Post SMTP Mailer (Email Log ดีมาก), และ Easy WP SMTP แต่ WP Mail SMTP ยังคงเป็นตัวเลือกแนะนำเพราะมี Active Development และ Community ใหญ่
Q: ถ้าต้องส่ง Newsletter จำนวนมากควรใช้อะไร?
A: สำหรับ Newsletter ปริมาณมาก (หลักร้อยถึงหลักพันฉบับต่อครั้ง) แนะนำให้ใช้บริการเฉพาะทาง เช่น Mailchimp (ฟรีถึง 1,000 ฉบับ/เดือน) หรือ Brevo (SendinBlue) แทน ใช้ WordPress SMTP สำหรับ Transactional Email เท่านั้น เช่น Registration, Password Reset, Order Confirmation
เริ่มต้นใช้ WordPress Hosting ที่เชื่อถือได้วันนี้
AsiaGB มี Shared Hosting พร้อม DirectAdmin, SSD Storage, Uptime 99%, Email Hosting บนโดเมนของคุณ และ Support ทีมไทยในราคาเริ่มต้นเพียง 500 บาท/ปี
เริ่มต้นใช้งาน Hosting