SPF คืออะไร?
SPF (Sender Policy Framework) คือ DNS TXT Record ที่ระบุว่า Mail Server ใดบ้างที่ได้รับอนุญาตให้ส่งอีเมลในนามของโดเมนของคุณ เมื่อผู้รับอีเมลได้รับเมล จะตรวจสอบว่า IP ของ Server ที่ส่งตรงกับรายการใน SPF Record หรือไม่ หากไม่ตรงก็จะถูกทำเครื่องหมายว่าเป็น Spam หรือถูกปฏิเสธทันที
รูปแบบ SPF Record พื้นฐาน:
v=spf1 include:mail.yourthaihost.com ip4:203.0.113.10 ~all
v=spf1— ประกาศว่านี่คือ SPF version 1include:— อนุญาต Server ของผู้ให้บริการ Mail อื่นip4:— ระบุ IP Address โดยตรง~all— SoftFail: อีเมลจาก IP อื่นผ่านได้แต่ถูกแท็ก; ใช้-allสำหรับ HardFail
DKIM คืออะไร?
DKIM (DomainKeys Identified Mail) คือระบบ Digital Signature ที่เพิ่ม Header ลงในอีเมลทุกฉบับที่ส่งออก โดยใช้ Private Key ที่เก็บไว้บน Mail Server เพื่อเซ็นชื่อ และ Public Key ที่เผยแพร่ผ่าน DNS TXT Record เพื่อให้ผู้รับตรวจสอบว่าอีเมลไม่ถูกดัดแปลงระหว่างทาง
ขั้นตอนดู DKIM Key ใน cPanel:
- ไปที่ Email → Email Deliverability ใน cPanel
- คลิก Manage ข้างโดเมนของคุณ
- คัดลอก DKIM TXT Record ที่ระบบสร้างให้
- เพิ่ม DNS TXT Record ชื่อ
default._domainkey.yourdomain.com
ตัวอย่าง DKIM Record มีลักษณะดังนี้:
default._domainkey.yourdomain.com TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GN..."
DMARC คืออะไร?
DMARC (Domain-based Message Authentication, Reporting and Conformance) คือ Policy ที่กำหนดว่าควรทำอย่างไรกับอีเมลที่ Fail ทั้ง SPF และ DKIM พร้อมกัน ช่วยให้เจ้าของโดเมนรับรายงานได้ว่ามีใครพยายามปลอมแปลงอีเมลโดยใช้โดเมนของตน
ตัวอย่าง DMARC Record:
_dmarc.yourdomain.com TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100"
p=none— Monitor Mode: ไม่ทำอะไร แค่ส่ง Reportp=quarantine— ส่งไปยัง Spam Folderp=reject— ปฏิเสธอีเมลนั้นทันที (เข้มงวดที่สุด)rua=— อีเมลที่รับ Aggregate Report
ขั้นตอนตั้งค่าทั้ง 3 ผ่าน DNS Panel
ลงมือตั้งค่าทีละขั้นตอนใน DNS Zone Editor:
- ตั้ง SPF: เพิ่ม TXT Record ที่
@หรือyourdomain.comค่า:v=spf1 include:server.yourhost.com ~all - ตั้ง DKIM: ดู Key จาก cPanel Email Deliverability แล้วเพิ่ม TXT Record ที่
default._domainkey - ตั้ง DMARC: เพิ่ม TXT Record ที่
_dmarcค่า:v=DMARC1; p=none; rua=mailto:[email protected] - รอ DNS Propagation 10–30 นาที
- ทดสอบด้วย mail-tester.com หรือ MX Toolbox
ทดสอบด้วย mail-tester.com และ MX Toolbox
หลังตั้งค่าเสร็จ ทดสอบความถูกต้องได้ทันที:
- mail-tester.com — ส่งอีเมลไปยังที่อยู่ที่เว็บกำหนด แล้วดูคะแนนและรายการตรวจสอบ SPF/DKIM/DMARC ควรได้คะแนน 10/10
- MX Toolbox (mxtoolbox.com) — พิมพ์โดเมนแล้วเลือกตรวจ SPF, DKIM หรือ DMARC แยกกัน
- Google Admin Toolbox — Check MX ตรวจสอบได้ทุกอย่างในที่เดียว
ตรวจสอบว่า SPF/DKIM/DMARC ตั้งค่าถูกต้อง
# ตรวจ SPF Record
dig TXT yourdomain.com +short
# ตรวจ DKIM Record
dig TXT default._domainkey.yourdomain.com +short
# ตรวจ DMARC Record
dig TXT _dmarc.yourdomain.com +short
# ตรวจ MX Record
dig MX yourdomain.com +short
p=none ใน DMARC ก่อนเสมอ อ่าน Report 2–4 สัปดาห์ก่อนเปลี่ยนเป็น quarantine หรือ reject เพื่อป้องกันอีเมลถูกตัดโดยไม่ตั้งใจแก้ปัญหาที่พบบ่อย
Error: "SPF Too Many DNS Lookups (PermError)"
SPF อนุญาตให้ Lookup DNS ได้ไม่เกิน 10 ครั้ง หากใช้ include: หลายอันมากเกินไปจะเกิน Limit นี้ แก้ไขโดยลบ include: ที่ไม่จำเป็นออก หรือใช้บริการ SPF Flattening เช่น dmarcian เพื่อรวม IP แบบ Flat
อีกวิธีที่เร็วกว่าคือใช้ Email Deliverability Checker ของ dnsxray.com ที่ตรวจ MX, SPF, DKIM, DMARC, MTA-STS และ BIMI พร้อมกันทั้งหมดในการค้นหาครั้งเดียว ไม่ต้องส่งอีเมลทดสอบ เห็นเลยว่า Record ตัวไหนขาดหรือตั้งผิด
Error: "DKIM Key Mismatch / Signature Verification Failed"
เกิดเมื่อ Public Key ใน DNS ไม่ตรงกับ Private Key บน Server สาเหตุที่พบบ่อยคือเพิ่ง Regenerate Key ใน cPanel แต่ยังไม่ได้อัปเดต DNS Record แก้ไขโดยไปที่ cPanel → Email Deliverability → Install แล้วอัปเดต DNS ตามที่ระบบแนะนำ
Error: "DMARC Alignment Failure"
DMARC ต้องการให้โดเมนใน From: Header ตรงกับโดเมนใน SPF หรือ DKIM ถ้าใช้บริการ Third-party เพื่อส่งอีเมล ต้องตั้งค่า SPF/DKIM ให้รองรับโดเมนนั้นด้วย
Error: "Multiple SPF Records Found"
โดเมนมี TXT Record ของ SPF มากกว่า 1 บรรทัดซึ่งผิดมาตรฐาน ควรรวม SPF ทั้งหมดไว้ใน Record เดียว เช่น v=spf1 include:A include:B ip4:1.2.3.4 ~all
Error: อีเมล Legit ตก Spam หลังเปิด DMARC p=reject
ตรวจสอบว่า Newsletter service, CRM หรือระบบอีเมลอื่นๆ ทุกตัวอยู่ใน SPF Record และ DKIM ถูกตั้งค่าแล้ว ให้เริ่มด้วย p=quarantine; pct=10 เพื่อทดสอบกับอีเมล 10% ก่อน
คำถามที่พบบ่อย
ต้องตั้งทั้ง 3 อย่างเลยไหม?
แนะนำให้ตั้งครบทั้ง 3 เพราะทำงานเสริมกัน SPF ตรวจ Server ที่ส่ง, DKIM ตรวจความสมบูรณ์ของเนื้อหา, DMARC กำหนด Policy และรับ Report ถ้าตั้งแค่ SPF อย่างเดียวก็ยังดีกว่าไม่มี แต่ไม่สมบูรณ์
DKIM Key ยาวแค่ไหนที่แนะนำ?
ปัจจุบันแนะนำ 2048-bit เป็นอย่างน้อย (บาง Server ยังใช้ 1024-bit อยู่แต่ถือว่าอ่อนแล้ว) cPanel รุ่นใหม่จะสร้าง 2048-bit ให้โดยอัตโนมัติ
ถ้าไม่ตั้งค่า SPF/DKIM/DMARC จะเกิดอะไร?
อีเมลของคุณมีโอกาสถูกทำเครื่องหมายเป็น Spam สูงขึ้นมาก นอกจากนี้ผู้ไม่หวังดีอาจส่งอีเมลปลอมโดยใช้ชื่อโดเมนของคุณ ทำให้ลูกค้าเสียความเชื่อมั่นและโดเมนติด Blacklist ได้