ตั้งค่า SPF, DKIM, DMARC สำหรับ WordPress Email บน Cloud VPS

การตั้งค่า SPF, DKIM และ DMARC เป็นสิ่งสำคัญสำหรับการส่ง Email จาก WordPress บน Cloud VPS ของ de.co.th ทั้งสามมาตรฐานนี้ช่วยยืนยันตัวตนของ Email ที่ส่งออกไป ลดโอกาสที่ Email จะเข้า Spam และป้องกันการปลอมแปลง Email โดยทั่วไป Email ที่ไม่ผ่านการยืนยันตัวตนเหล่านี้จะได้รับการปฏิบัติอย่างสงสัยและอาจถูกส่งไปยังกล่องขยะ

ทำไม SPF, DKIM และ DMARC จึงสำคัญ

ทุกวันนี้ Email Server ต่างๆ ใช้มาตรฐาน Email Authentication เพื่อป้องกันการปลอมแปลง Email และการส่ง Spam หากเว็บไซต์ WordPress ของคุณส่ง Email โดยไม่มี SPF, DKIM, DMARC จะส่งผลให้ Email ไปถูก Filter หรือปฏิเสธโดย Email Server ของผู้รับ นี่คือเหตุผลที่ Email จาก WordPress หลายครั้งไม่ถึงกล่องขาเข้า (Inbox) ของผู้ใช้

SPF (Sender Policy Framework)

SPF (Sender Policy Framework) เป็นมาตรฐาน Email Authentication ที่ช่วยยืนยันว่า Email Server ใดมีสิทธิ์ส่ง Email ในนามของโดเมนของคุณ การตั้งค่า SPF ช่วยป้องกันการปลอมแปลง Email Address และบอก Email Server ปลายทางว่า Server ไหนสามารถส่ง Email ในนามของคุณได้

# SPF Record สำหรับ Mailgun
Type: TXT
Host: @
Value: v=spf1 include:mailgun.org ~all

# SPF Record สำหรับ Gmail
Type: TXT
Host: @
Value: v=spf1 include:_spf.google.com ~all

# SPF Record สำหรับหลาย Service
Type: TXT
Host: @
Value: v=spf1 include:mailgun.org include:_spf.google.com include:amazonses.com ~all

# ตรวจสอบ SPF Record
nslookup -type=txt yourdomain.com

ค่า ~all หมายถึง Soft Fail (ยอมรับแต่เตือน) ส่วน -all หมายถึง Hard Fail (ปฏิเสธแบบเด็ดขาด) โดยทั่วไปแนะนำให้ใช้ ~all ในตอนแรกแล้วค่อยๆ เปลี่ยนเป็น -all เมื่อมั่นใจว่าทั้งหมดตั้งค่าถูกต้อง

DKIM (DomainKeys Identified Mail)

DKIM (DomainKeys Identified Mail) เป็นมาตรฐานที่ใช้ลายเซ็นดิจิทัล (Digital Signature) ในส่วนหัวของ Email เพื่อยืนยันว่า Email ไม่ถูกแก้ไขระหว่างทาง DKIM ทำงานโดยการสร้าง Public Key ที่เก็บไว้ใน DNS และ Private Key ที่เก็บไว้ที่ Email Server เมื่อมีการส่ง Email Private Key จะเข้ารหัส Email ขณะที่ Email Server ผู้รับจะใช้ Public Key เพื่อตรวจสอบ

# DKIM Record จาก Mailgun
Type: TXT
Host: smtp._domainkey
Value: k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ...

# DKIM Record จาก SendGrid
Type: CNAME
Host: s1._domainkey
Value: s1.domainkey.sendgrid.net

# ตรวจสอบ DKIM
nslookup -type=txt smtp._domainkey.yourdomain.com

แต่ละ Email Service (Mailgun, SendGrid, Amazon SES ฯลฯ) จะมี DKIM Record ที่แตกต่างกัน ควรทำตามคำแนะนำของแต่ละบริการอย่างระวัง นอกจากนี้ DKIM Selector (เช่น smtp, default, selector1) อาจแตกต่างกันไปตามบริการ

DMARC (Domain-based Message Authentication)

DMARC (Domain-based Message Authentication, Reporting and Conformance) เป็นมาตรฐานที่รวม SPF และ DKIM เข้าด้วยกัน DMARC ช่วยให้เจ้าของโดเมนตั้งนโยบายว่าจะจัดการกับ Email ที่ไม่ผ่าน SPF หรือ DKIM อย่างไร DMARC ยังให้ Report กับเจ้าของเกี่ยวกับ Email ที่ส่งออกไปด้วย

# DMARC Record เริ่มต้น (แค่ Monitor)
Type: TXT
Host: _dmarc
Value: v=DMARC1; p=none; rua=mailto:[email protected]

# DMARC Record เข้มงวด (Quarantine ที่ไม่ผ่าน)
Type: TXT
Host: _dmarc
Value: v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100

# DMARC Record เข้มงวดสูงสุด (Reject ที่ไม่ผ่าน)
Type: TXT
Host: _dmarc
Value: v=DMARC1; p=reject; rua=mailto:[email protected]; pct=100

# ตรวจสอบ DMARC
nslookup -type=txt _dmarc.yourdomain.com

DMARC มี 3 Policy ที่สำคัญคือ p=none (Monitor เท่านั้น) p=quarantine (ส่งเข้า Spam) และ p=reject (ปฏิเสธแบบเด็ดขาด) แนะนำให้เริ่มด้วย p=none เพื่อมองเห็นว่า Email ไหนที่ไม่ผ่าน SPF/DKIM ก่อน

ลำดับการตั้งค่าที่แนะนำ

ขั้นตอนในการตั้งค่า SPF, DKIM, DMARC อย่างถูกต้อง:

  • ขั้นที่ 1: ตั้งค่า SPF Record ก่อน เพราะเป็นพื้นฐานที่ง่ายที่สุด
  • ขั้นที่ 2: ติดตั้ง DKIM Record จากบริการ Email ที่คุณใช้
  • ขั้นที่ 3: เริ่มต้น DMARC ด้วย p=none เพื่อ Monitor เป็นเวลา 2-4 สัปดาห์
  • ขั้นที่ 4: ดู DMARC Report และตรวจสอบว่า Email ทั้งหมดผ่าน SPF/DKIM หรือไม่
  • ขั้นที่ 5: เมื่อมั่นใจแล้ว ค่อยเปลี่ยนเป็น p=quarantine แล้วเป็น p=reject

ตรวจสอบด้วยเครื่องมือออนไลน์

ใช้เครื่องมือเหล่านี้เพื่อตรวจสอบว่า SPF, DKIM และ DMARC ตั้งค่าถูกต้องหรือไม่:

  • MXToolbox (mxtoolbox.com/SuperTool) – ตรวจสอบ SPF, DKIM, DMARC Record
  • Mail Tester (mail-tester.com) – ส่ง Email ทดสอบและดูคะแนน Deliverability (0-100)
  • Google Admin Toolbox (toolbox.googleapps.com) – ตรวจสอบ MX, SPF, DKIM Record
  • Return Path Wizard – วิเคราะห์ IP Reputation และ Authentication Record

สิ่งเพิ่มเติมสำหรับ Email Deliverability บน Cloud VPS

นอกจาก SPF, DKIM, DMARC แล้ว คุณควรตั้งค่าหลายอย่างเพื่อเพิ่ม Email Deliverability บน Cloud VPS:

  • Reverse DNS (PTR Record): ตั้งค่า IP Address ของ Cloud VPS เพื่อให้สัมพันธ์กับ Hostname ที่ถูกต้อง
  • Configure Bounce: ตั้งค่าที่อยู่ Email สำหรับรับข้อหารือ Bounce Email
  • SMTP Relay: ใช้ Email Service ที่มีชื่อเสียงดีแทนการส่ง Email โดยตรงจาก Cloud VPS
  • Rate Limiting: จำกัดจำนวน Email ที่ส่งต่อชั่วโมงเพื่อหลีกเลี่ยงการถูกมองว่าเป็น Spam
  • Monitor IP Reputation: ตรวจสอบ IP Reputation ของ Cloud VPS ผ่าน MXToolbox หรือเครื่องมืออื่น

ปัญหาทั่วไป และวิธีแก้ไข

ปัญหา: Email จาก WordPress ไม่ถึง Inbox

  • ตรวจสอบว่า SPF, DKIM, DMARC ตั้งค่าถูกต้อง
  • ตรวจสอบ Email Header เพื่อดู Authentication Result
  • ตรวจสอบ IP Reputation ของ Cloud VPS
  • ดู DMARC Report เพื่อหา Email ที่ไม่ผ่าน Authentication

ปัญหา: DKIM Signature ไม่ใช่

  • ตรวจสอบว่า DKIM Private Key ติดตั้งถูกต้องใน Mail Server
  • ตรวจสอบว่า DKIM Public Key ใน DNS ถูกต้อง
  • ตรวจสอบการหมดอายุของ DKIM Key

สรุป

การตั้งค่า SPF, DKIM และ DMARC สำหรับ WordPress Email บน Cloud VPS ของ de.co.th ช่วยเพิ่มความน่าเชื่อของ Email อย่างมาก ลดโอกาสที่ Email จะเข้า Spam และป้องกันการปลอมแปลง Email เริ่มจาก Monitor Mode (p=none) ก่อนแล้วค่อยๆ เพิ่มความเข้มงวด เมื่อมั่นใจว่าทุกอย่างทำงานถูกต้อง การทำเช่นนี้จะช่วยให้เว็บไซต์ของคุณมีระบบส่ง Email ที่มีประสิทธิภาพและน่าเชื่อถือ