Email
ทำไมอีเมลถึงตก Spam หรือส่งไม่ถึงปลายทาง?
ปัญหาอีเมลตก Spam เป็นหนึ่งในปัญหาที่ผู้ใช้ Shared Hosting พบบ่อยที่สุด โดยเฉพาะเมื่อส่งอีเมลจากเว็บไซต์ ไม่ว่าจะเป็น Contact Form, การแจ้งเตือนจาก WordPress หรืออีเมลยืนยันการลงทะเบียน เหตุผลหลักที่อีเมลตก Spam คือ DNS Record ที่ไม่ครบ ระบบปลายทางอย่าง Gmail, Microsoft Outlook และ Yahoo ใช้หลายวิธีในการตรวจสอบว่าอีเมลมาจากเซิร์ฟเวอร์ที่น่าเชื่อถือหรือไม่
ปัจจัยหลักที่กำหนด Email Deliverability ได้แก่:
- SPF Record — ระบุว่า IP ใดบ้างที่ได้รับอนุญาตให้ส่งอีเมลในนามโดเมนของคุณ
- DKIM Signature — ลายเซ็นดิจิทัลที่ยืนยันว่าอีเมลไม่ถูกแก้ไขระหว่างทาง
- DMARC Policy — นโยบายที่บอกให้เซิร์ฟเวอร์ปลายทางทำอย่างไรหากอีเมลไม่ผ่าน SPF หรือ DKIM
- PTR Record (Reverse DNS) — การ Resolve IP กลับเป็น Hostname เพื่อพิสูจน์ตัวตนเซิร์ฟเวอร์
- Reputation ของ IP — ประวัติการส่งอีเมลของ IP ที่ใช้บน Shared Hosting
ขั้นตอนที่ 1: ตั้งค่า SPF Record ใน cPanel
SPF (Sender Policy Framework) คือ DNS TXT Record ที่บอกให้เซิร์ฟเวอร์ปลายทางรู้ว่า IP ใดบ้างที่ได้รับอนุญาตส่งอีเมลในนามโดเมนของคุณ วิธีตั้งค่าใน cPanel มีดังนี้:
- เข้า cPanel แล้วไปที่ Email > Email Deliverability
- ระบบจะแสดงสถานะ SPF, DKIM ของโดเมนทุกโดเมนในบัญชี
- หากขึ้นว่า "Problems Exist" ให้คลิก Repair เพื่อให้ cPanel สร้าง SPF Record ให้อัตโนมัติ
- หากต้องการตั้งเองผ่าน Zone Editor ให้ไปที่ Domains > Zone Editor แล้วเพิ่ม TXT Record
ตัวอย่าง SPF Record สำหรับโดเมนที่ใช้ cPanel Shared Hosting:
# SPF Record พื้นฐานสำหรับ Shared Hosting
# ใส่เป็น TXT Record ที่ @ (root domain)
v=spf1 include:yourhostingserver.com ~all
# หากส่งอีเมลผ่านหลายแหล่ง (Hosting + Gmail Workspace)
v=spf1 include:yourhostingserver.com include:_spf.google.com ~all
# แบบ Strict (ปฏิเสธอีเมลที่ไม่ผ่าน SPF ทันที)
v=spf1 include:yourhostingserver.com -all
~all (SoftFail) สำหรับขั้นตอนการทดสอบ แล้วค่อยเปลี่ยนเป็น -all (HardFail) เมื่อแน่ใจว่าตั้งค่าถูกต้องแล้ว หาก SPF Record มีหลาย include เกิน 10 DNS Lookup จะทำให้ fail ได้ขั้นตอนที่ 2: เปิดใช้งาน DKIM ใน cPanel
DKIM (DomainKeys Identified Mail) เพิ่มลายเซ็นดิจิทัลในส่วน Header ของอีเมล ทำให้เซิร์ฟเวอร์ปลายทางตรวจสอบได้ว่าอีเมลถูกส่งมาจากเซิร์ฟเวอร์ที่ได้รับอนุญาตและไม่ถูกแก้ไข
- ใน cPanel ไปที่ Email > Email Deliverability
- ตรวจสอบว่า DKIM แสดงสถานะ "Valid" หรือไม่
- หากยังไม่เปิด ให้คลิก Enable แล้วระบบจะสร้าง DKIM Key คู่ (Public/Private) ให้อัตโนมัติ
- Public Key จะถูกเพิ่มเป็น TXT Record ในรูปแบบ
default._domainkey.yourdomain.com
หากโดเมนใช้ DNS ของผู้ให้บริการอื่น (ไม่ใช่ Nameserver ของ Hosting) ให้คัดลอก DKIM Record ที่ cPanel สร้างขึ้นไปเพิ่มที่ DNS ผู้ให้บริการโดเมนด้วยตนเอง
ขั้นตอนที่ 3: เพิ่ม DMARC Record
DMARC (Domain-based Message Authentication, Reporting, and Conformance) เป็นชั้นสุดท้ายที่บอกเซิร์ฟเวอร์ปลายทางว่าควรทำอย่างไรกับอีเมลที่ไม่ผ่าน SPF หรือ DKIM และยังสามารถรับ Report ได้ด้วย
เพิ่ม DMARC ผ่าน Zone Editor ใน cPanel โดยสร้าง TXT Record ที่ _dmarc.yourdomain.com:
# DMARC แบบ Monitor-only (รับ Report แต่ยังไม่บล็อกอีเมล)
v=DMARC1; p=none; rua=mailto:[email protected]
# DMARC แบบ Quarantine (อีเมลที่ไม่ผ่านจะถูกส่งไป Spam)
v=DMARC1; p=quarantine; pct=50; rua=mailto:[email protected]
# DMARC แบบ Reject (บล็อกอีเมลที่ไม่ผ่านทันที — ใช้เมื่อแน่ใจแล้ว)
v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]
p=none เสมอ แล้วรอรับ Report 1–2 สัปดาห์เพื่อดูว่ามีอีเมล Legitimate ที่ไม่ผ่าน SPF/DKIM หรือไม่ ก่อนเปลี่ยนเป็น p=quarantine หรือ p=rejectขั้นตอนที่ 4: ตรวจสอบ PTR Record (Reverse DNS)
PTR Record หรือ Reverse DNS คือการ Map IP Address กลับเป็น Hostname เซิร์ฟเวอร์ Gmail และ Outlook ใช้ PTR Record ในการตรวจสอบความน่าเชื่อถือของเซิร์ฟเวอร์ผู้ส่ง บน Shared Hosting PTR Record มักถูกตั้งโดย Hosting Provider ตามชื่อเซิร์ฟเวอร์
หากเซิร์ฟเวอร์ของ Hosting มี PTR Record ที่ถูกต้องอยู่แล้ว ผู้ใช้ Shared Hosting ไม่ต้องทำอะไรเพิ่ม แต่หากพบปัญหาอีเมลถูก Reject พร้อมข้อความเกี่ยวกับ Reverse DNS ให้ติดต่อ Support ของ Hosting เพื่อขอตรวจสอบ PTR Record ของ IP เซิร์ฟเวอร์
ขั้นตอนที่ 5: Email Warm-up สำหรับโดเมนใหม่
หากเพิ่งตั้งค่าอีเมลบนโดเมนใหม่หรือเพิ่งย้าย Hosting ระบบ Spam Filter ของปลายทางยังไม่รู้จัก IP ของเซิร์ฟเวอร์ใหม่ ทำให้อีเมลมีโอกาสตก Spam สูง วิธีทำ Email Warm-up บน Shared Hosting:
- ส่งอีเมลจำนวนน้อยก่อนในช่วงแรก เช่น 20–50 ฉบับต่อวัน แล้วค่อยๆ เพิ่มขึ้น
- ส่งหาผู้รับที่เปิดอ่านอีเมลเป็นประจำก่อน เพื่อให้ Engagement Rate สูง
- หลีกเลี่ยงส่ง Mass Email ในช่วงสัปดาห์แรก
- ตรวจสอบว่ามีอีเมล Bounce กลับมามากหรือไม่ และล้าง List ที่ไม่ใช้งาน
- ตั้งค่า Unsubscribe Link ในทุกอีเมล Marketing เพื่อลด Spam Report Rate
ตั้งค่า PHP Mail ใน WordPress ผ่าน SMTP
การส่งอีเมลผ่าน PHP Mail ใน WordPress มักมีปัญหา Deliverability เพราะหลายเซิร์ฟเวอร์บล็อก Port 25 แนะนำให้เปลี่ยนมาใช้ SMTP Authentication แทน โดยใช้ Plugin อย่าง WP Mail SMTP หรือ Post SMTP
การตั้งค่า SMTP ด้วย cPanel Email Account ของตัวเอง:
- SMTP Host: mail.yourdomain.com (หรือชื่อเซิร์ฟเวอร์ที่ Hosting ระบุ)
- SMTP Port: 587 (TLS) หรือ 465 (SSL)
- Authentication: เปิดใช้งาน พร้อมใส่ Email และ Password ของบัญชีอีเมลใน cPanel
- From Email: ต้องตรงกับบัญชีอีเมลที่ใช้ส่ง ห้ามแตกต่างจาก Email ที่ Login SMTP
ก่อนทดสอบการตั้งค่า email แนะนำใช้เครื่องมือฟรีที่ dnsxray.com ตรวจสอบ DNS, SSL, Email Authentication และ Security Headers ของเว็บได้ในที่เดียว ช่วยให้เห็นภาพรวมของ SPF, DKIM และ MX Record ก่อนเริ่มส่งอีเมลจริง
ตรวจสอบว่า Email Deliverability ทำงานถูกต้อง
# 1. ตรวจ SPF Record ผ่าน dig (macOS/Linux Terminal)
dig TXT yourdomain.com +short
# 2. ตรวจ DKIM Record (แทนที่ default ด้วย selector ที่ใช้)
dig TXT default._domainkey.yourdomain.com +short
# 3. ตรวจ DMARC Record
dig TXT _dmarc.yourdomain.com +short
# 4. ตรวจ PTR (Reverse DNS) ของ IP เซิร์ฟเวอร์
dig -x 203.0.113.10 +short
# 5. ส่งอีเมลทดสอบไปที่ mail-tester.com แล้วดูคะแนน Spam Score
# ไปที่ https://www.mail-tester.com แล้วคัดลอก Email Address ที่แสดง
# ส่งอีเมลทดสอบไปที่ Address นั้น แล้วกด "Check your score"
แก้ปัญหาที่พบบ่อย
Error: "550 SPF Check Failed" หรือ "Message rejected due to SPF policy"
ปัญหานี้เกิดเมื่อ SPF Record ไม่รวม IP ของเซิร์ฟเวอร์ Hosting หรือ SPF Record มี Syntax ผิด วิธีแก้คือตรวจสอบ SPF Record ปัจจุบัน แล้วเพิ่ม IP หรือ include ของ Hosting เข้าไป ถ้าโดเมนใช้ DNS ของผู้ให้บริการโดเมนอยู่ (ไม่ได้ชี้มาที่ Nameserver ของ Hosting) ต้องไปเพิ่ม SPF Record ที่ DNS ผู้ให้บริการโดเมนด้วย หลังแก้ไขต้องรอ DNS Propagate 15–60 นาที
Error: "DKIM verification failed" หรืออีเมลไม่มี DKIM Signature
เกิดขึ้นเมื่อ DKIM ไม่ได้เปิดใช้งานใน cPanel หรือ DKIM Public Key ใน DNS ไม่ตรงกับ Private Key บนเซิร์ฟเวอร์ ให้เข้า cPanel > Email > Email Deliverability แล้วตรวจสอบสถานะ DKIM หากขึ้นว่า "Invalid" ให้คลิก Repair แล้วคัดลอก DKIM Record ที่ cPanel สร้างขึ้นไปใส่ใน DNS ให้ถูกต้อง หากใช้ Cloudflare ให้ตรวจสอบว่า Proxy (สีส้ม) ถูกปิดสำหรับ Record นี้เพราะ DKIM ต้องใช้ DNS-only
Error: "Your message was identified as spam" หรือ Gmail แสดง "via" ในชื่อผู้ส่ง
เมื่ออีเมลแสดงชื่อเซิร์ฟเวอร์ต่อท้าย "via" เช่น "[email protected] via server.hosting.com" แสดงว่า From Address ไม่ตรงกับ Envelope Sender หรือไม่ผ่าน DKIM Alignment ใน WordPress ให้ตั้ง From Email ใน WP Mail SMTP ให้ตรงกับบัญชีอีเมลที่ใช้ SMTP Authentication และตรวจสอบว่า DMARC Alignment Mode เป็น relaxed (adkim=r) ไม่ใช่ strict
Error: อีเมลตก Spam ทั้งที่ SPF/DKIM ผ่านแล้ว
SPF และ DKIM เป็นเพียงปัจจัยหนึ่ง ระบบ Spam Filter ยังดูเนื้อหา Subject Line, Spam Words ในเนื้อหา, Bounce Rate, Unsubscribe Rate และ Spam Report Rate ของผู้ส่ง ให้ทดสอบ Spam Score ด้วย mail-tester.com หรือ GlockApps ก่อน แล้วปรับแก้ตาม Recommendation ที่ได้รับ นอกจากนี้ควรหลีกเลี่ยง Subject Line ที่มีคำอย่าง "ฟรี", "ด่วน", "ชนะ" หรือตัวพิมพ์ใหญ่ทั้งหมด
Error: PHP mail() ส่งอีเมลไม่ได้เลย หรือ Form ส่งแล้วไม่มีอีเมลมาถึง
Hosting บางรายบล็อก PHP mail() จาก Website Files โดยตรง ให้เปลี่ยนไปใช้ SMTP Authentication แทน ใน WordPress ติดตั้ง Plugin "WP Mail SMTP" แล้วตั้งค่าใช้ SMTP ของ cPanel Email Account แทน PHP mail() นอกจากนี้ให้ตรวจสอบว่า From Email ที่ตั้งใน Plugin ตรงกับ Email Address ที่สร้างไว้ใน cPanel เพราะ Hosting บางรายตรวจสอบ Sender Address เพื่อป้องกัน Spam
คำถามที่พบบ่อย
ถาม: ต้องตั้งค่า SPF, DKIM และ DMARC ครบทั้งสามอย่างไหม?
ตอบ: ขั้นต่ำควรตั้ง SPF และ DKIM ให้ครบก่อน เพราะสองอย่างนี้มีผลต่อ Deliverability มากที่สุด DMARC เป็นชั้นเสริมที่ช่วยป้องกัน Email Spoofing และรับ Report ได้ แต่หากไม่มี DMARC บางเซิร์ฟเวอร์ปลายทาง (โดยเฉพาะ Gmail) ก็ยังรับอีเมลได้ถ้า SPF และ DKIM ผ่าน อย่างไรก็ตาม ตั้งแต่ปี 2024 Gmail กำหนดให้ผู้ส่ง Bulk Email ต้องมี DMARC ด้วย
ถาม: Shared Hosting ทำ Email Deliverability ได้ดีเท่า VPS ไหม?
ตอบ: ได้ใกล้เคียงกัน หากตั้งค่า SPF, DKIM, DMARC ถูกต้องครบถ้วน ข้อจำกัดหลักของ Shared Hosting คือการแชร์ IP กับเว็บอื่นๆ ถ้า IP นั้นถูก Blacklist เพราะเว็บอื่นส่ง Spam จะส่งผลต่อทุกคนบน IP เดียวกัน Hosting ที่ดีจะมีระบบ Monitor และแก้ไข Blacklist ปัญหานี้ หากพบว่า IP ของ Hosting ถูก Blacklist ควรแจ้ง Support เพื่อขอเปลี่ยน IP หรือใช้ Dedicated IP
ถาม: ใช้ Gmail Workspace ส่งอีเมลแทน Hosting ได้ไหม?
ตอบ: ได้ และหลายธุรกิจเลือกใช้ Gmail Workspace (Google Workspace) สำหรับอีเมล Business เพราะมี Reputation ดีและ Deliverability สูง ในกรณีนี้ต้องเพิ่ม include:_spf.google.com ใน SPF Record และตั้งค่า DKIM ผ่าน Google Admin Console ไม่ใช่ผ่าน cPanel ข้อดีคือ Inbox ของ Gmail มักไม่ส่งอีเมลจาก Google กันเองไป Spam แต่ยังต้องตั้ง DMARC ไว้เพื่อป้องกัน Spoofing