ตั้งค่า DKIM ใน cPanel ป้องกัน Email ตก Spam

เปิดใช้ DKIM Authentication ใน cPanel ง่ายไม่กี่คลิก ลด Email ตก Spam และเพิ่มความน่าเชื่อถือให้กับโดเมนของคุณ

ตั้งค่า DKIM ใน cPanel ป้องกัน Email ตก Spam Email

ปัญหา Email ตก Spam หรือไม่ถึงปลายทางเป็นเรื่องที่หลายคนเจอ หนึ่งในสาเหตุหลักคือโดเมนของคุณยังไม่ได้ตั้งค่า DKIM (DomainKeys Identified Mail) ซึ่งเป็นมาตรฐาน Email Authentication ที่ช่วยยืนยันว่า Email ที่ส่งออกมานั้นมาจากโดเมนจริง ไม่ใช่ผู้ปลอมแปลง บทความนี้จะพาคุณตั้งค่า DKIM ใน cPanel ทีละขั้นตอน พร้อมวิธีตรวจสอบว่าทำงานถูกต้องแล้ว

DKIM คืออะไร และทำไมต้องใช้?

DKIM คือระบบ Email Authentication ที่ใช้ Digital Signature เพื่อยืนยันตัวตนของผู้ส่ง เมื่อคุณส่ง Email ออก เซิร์ฟเวอร์จะแนบลายเซ็นดิจิทัลไปกับ Email Header โดยลายเซ็นนี้สร้างจาก Private Key ที่เก็บไว้บนเซิร์ฟเวอร์ ฝั่งผู้รับจะใช้ Public Key ที่เก็บใน DNS Record ของโดเมนคุณเพื่อตรวจสอบลายเซ็นนั้น

ถ้า Public Key และ Private Key ตรงกัน ระบบจะรู้ว่า Email นี้ส่งมาจากโดเมนจริง ไม่ใช่การปลอมแปลง ผลลัพธ์คือ Email ของคุณมีโอกาสน้อยลงมากที่จะตก Spam และเพิ่มคะแนนความน่าเชื่อถือ (Sender Reputation) ให้กับโดเมนในระยะยาว

DKIM ทำงานร่วมกับ SPF (Sender Policy Framework) และ DMARC เป็น Email Authentication สามเส้า ที่ช่วยปกป้อง Email ของคุณอย่างรอบด้าน

ขั้นตอนเปิดใช้ DKIM ใน cPanel

Hosting ส่วนใหญ่ที่ใช้ cPanel มีระบบ DKIM ให้ใช้งานฟรีโดยไม่ต้องติดตั้งเพิ่ม แค่เปิดใช้งานผ่านหน้าควบคุมได้เลย ทำตามขั้นตอนด้านล่าง:

ขั้นที่ 1: เข้า cPanel และเปิด Email Deliverability

  1. เข้าสู่ cPanel ของโฮสติ้ง (โดยปกติที่ yourdomain.com:2083 หรือ yourdomain.com/cpanel)
  2. ไปที่หมวด Email แล้วคลิก Email Deliverability
  3. หน้านี้จะแสดงรายการโดเมนทั้งหมดในแอคเคาท์พร้อมสถานะของ DKIM, SPF และ DMARC
  4. ดูคอลัมน์ DKIM ถ้าขึ้น Invalid หรือ Not Set ให้คลิกปุ่ม Repair หรือ Manage
หมายเหตุ: หน้าจอ cPanel อาจแตกต่างกันตามเวอร์ชัน บางโฮสต์อาจใช้ชื่อ "Authentication" แทน "Email Deliverability" แต่ฟังก์ชันเหมือนกัน

ขั้นที่ 2: สร้าง DKIM Key

  1. คลิก Manage ข้างโดเมนที่ต้องการตั้งค่า
  2. ในส่วน DKIM คลิกปุ่ม Enable หรือ Install
  3. cPanel จะสร้าง Private Key และ Public Key ให้อัตโนมัติ
  4. Public Key จะถูกเพิ่มใน DNS Zone ของโดเมนคุณโดยอัตโนมัติ (ถ้า DNS อยู่ที่โฮสต์เดียวกัน)

ขั้นที่ 3: กรณีที่ DNS อยู่ที่อื่น (เช่น Cloudflare)

ถ้าโดเมนของคุณใช้ Nameserver ของ Cloudflare หรือ Registrar อื่น คุณต้องเพิ่ม DKIM Record ด้วยตัวเอง ทำดังนี้:

  1. ใน Email Deliverability คลิก Manage แล้วดู DKIM section
  2. คัดลอก DNS Record ที่แสดงอยู่ (จะเป็น TXT Record)
  3. เข้า DNS Manager ของ Cloudflare หรือ Registrar ของคุณ
  4. เพิ่ม TXT Record ตามข้อมูลที่คัดลอกมา

ตัวอย่าง DKIM DNS Record ที่คุณจะเห็นใน cPanel:

; DKIM TXT Record ที่ต้องเพิ่มใน DNS
Name:   default._domainkey.yourdomain.com
Type:   TXT
Value:  v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3...
TTL:    3600
Tip: ค่า default._domainkey คือ DKIM Selector ซึ่ง cPanel ใช้ชื่อ "default" เป็นค่ามาตรฐาน ถ้าคุณมีหลายระบบส่ง Email (เช่น Google Workspace + โฮสต์) ต้องใช้ Selector ต่างกัน

ขั้นที่ 4: รอการ Propagate และตรวจสอบ

หลังเพิ่ม DNS Record แล้ว รอประมาณ 15-60 นาที ให้ DNS Propagate (บางครั้งอาจนาน 24 ชั่วโมงในกรณี TTL สูง) จากนั้นกลับมาที่ Email Deliverability ใน cPanel เพื่อตรวจสอบว่าสถานะเปลี่ยนเป็น Valid แล้วหรือยัง

ตั้งค่า SPF และ DMARC ควบคู่กัน

DKIM ทำงานได้ดีที่สุดเมื่อใช้ร่วมกับ SPF และ DMARC ใน cPanel หน้า Email Deliverability จะแสดงสถานะของทั้งสามระบบพร้อมกัน ถ้ามีระบบใดขึ้น Invalid ให้กด Repair ให้ครบ

ตัวอย่าง SPF Record พื้นฐานสำหรับโฮสติ้ง:

; SPF Record - เพิ่มใน DNS เป็น TXT Record ที่ @ (root domain)
Name:   @
Type:   TXT
Value:  v=spf1 include:yourhostingserver.com ~all
TTL:    3600

; DMARC Record - เพิ่มใน DNS เป็น TXT Record
Name:   _dmarc
Type:   TXT
Value:  v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1
TTL:    3600
Tip: ค่า p=none ใน DMARC คือโหมด Monitor ซึ่งปลอดภัยสำหรับการเริ่มต้น หลังจากมั่นใจว่า DKIM และ SPF ทำงานถูกต้องแล้ว ค่อยเปลี่ยนเป็น p=quarantine หรือ p=reject เพื่อความปลอดภัยสูงสุด

ก่อนทดสอบการตั้งค่า Email แนะนำใช้เครื่องมือฟรีที่ dnsxray.com ตรวจสอบ DNS, SSL, Email Authentication และ Security Headers ของเว็บได้ในที่เดียว


ตรวจสอบว่า DKIM ทำงานถูกต้อง

หลังตั้งค่าเสร็จ ใช้วิธีต่อไปนี้เพื่อยืนยันว่า DKIM ทำงานถูกต้อง:

# 1. ตรวจสอบ DKIM TXT Record ด้วย dig (ทำผ่าน Terminal หรือเครื่องมือออนไลน์)
dig TXT default._domainkey.yourdomain.com

# 2. ตรวจสอบ SPF Record
dig TXT yourdomain.com

# 3. ตรวจสอบ DMARC Record
dig TXT _dmarc.yourdomain.com

# 4. ส่ง Test Email ไปที่ mail-tester.com แล้วดูคะแนน
# คะแนน 10/10 = ตั้งค่าครบถ้วน

# 5. ดู Email Header ของ Email ที่ได้รับ หา DKIM=pass
# ตัวอย่าง Header ที่ควรเห็น:
# Authentication-Results: mx.google.com;
#    dkim=pass [email protected] header.s=default header.b=AbCdEfGh;
Tip: วิธีที่ง่ายที่สุดคือส่ง Email จากโดเมนของคุณไปที่ Gmail แล้วเปิด Email นั้น คลิก "Show original" หรือ "ดูต้นฉบับ" แล้วมองหาบรรทัด dkim=pass ถ้าเห็น pass แสดงว่า DKIM ทำงานถูกต้องแล้ว

แก้ปัญหาที่พบบ่อย

Error: "DKIM Invalid" ใน Email Deliverability หลังกด Enable

ปัญหานี้มักเกิดเมื่อ DNS ของโดเมนไม่ได้อยู่ที่โฮสต์เดียวกัน (เช่น ใช้ Cloudflare) cPanel เพิ่ม DNS Record อัตโนมัติไม่ได้ ต้องเพิ่มด้วยตัวเอง ให้คลิก Manage แล้วคัดลอก TXT Record ไปเพิ่มในระบบ DNS ที่ใช้งานอยู่ จากนั้นรอ 15-60 นาทีแล้วกด Check ใหม่

Error: "dkim=fail (signature did not verify)" ใน Email Header

แสดงว่า DKIM Record ใน DNS ไม่ตรงกับ Private Key ที่เซิร์ฟเวอร์ใช้ อาจเกิดจากการ Copy TXT Record ผิด (ค่า Public Key ใน DNS) หรือมีการ Regenerate Key ใหม่แต่ DNS ยังเป็นของเก่า ให้เข้า Email Deliverability ใน cPanel คลิก Manage แล้วดูค่า DKIM ปัจจุบัน เปรียบเทียบกับที่มีใน DNS แล้วอัปเดตให้ตรงกัน

Error: "No DKIM signature" ทั้งที่ตั้งค่าแล้ว

เซิร์ฟเวอร์ส่ง Email โดยไม่แนบ DKIM Signature มักเกิดจาก Email ถูกส่งผ่าน Script ภายนอก (เช่น PHP mail() ที่ไม่ผ่าน Exim) หรือใช้ SMTP ของบริการอื่น ตรวจสอบว่า Email Client หรือ Script ของคุณใช้ SMTP ของโฮสต์ และตั้งค่า Authentication ถูกต้อง

DKIM Record ขึ้น Valid แต่ Email ยังตก Spam

DKIM เป็นแค่ส่วนหนึ่งของ Email Reputation ปัจจัยอื่นที่ต้องตรวจสอบเพิ่ม ได้แก่: SPF และ DMARC ต้อง Valid ด้วย, IP ของเซิร์ฟเวอร์ไม่ถูก Blacklist (ตรวจที่ MXToolbox), เนื้อหา Email ไม่มีคำที่ Spam Filter มักตรวจจับ และ Email Volume ไม่สูงผิดปกติ

Error: "TXT record already exists" เมื่อเพิ่ม DKIM ใน DNS

บางครั้ง cPanel เคยเพิ่ม DKIM Record ไว้แต่เป็นค่าเก่า ให้ลบ TXT Record เก่าที่ชื่อ default._domainkey ออกก่อน แล้วเพิ่มค่าใหม่จาก cPanel ถ้าใช้ Cloudflare อย่าลืมปิด Proxy (สัญลักษณ์เมฆส้ม) สำหรับ TXT Record นี้ให้เป็น DNS Only


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

DKIM ต่างจาก SPF อย่างไร?

SPF ตรวจสอบว่า Email ถูกส่งจาก IP Address ที่ได้รับอนุญาตหรือไม่ ส่วน DKIM ตรวจสอบว่า Email Header และ Body ไม่ถูกแก้ไขระหว่างส่ง โดยใช้ Digital Signature ทั้งสองระบบทำงานต่างกันและแนะนำให้ใช้ร่วมกันเสมอ

ถ้าใช้ Google Workspace หรือ Microsoft 365 ต้องตั้ง DKIM ของโฮสต์ไหม?

ถ้าส่ง Email ผ่าน Google Workspace หรือ Microsoft 365 ทั้งหมด ไม่ต้องตั้ง DKIM ของโฮสต์ cPanel แต่ต้องตั้ง DKIM ใน Console ของ Google หรือ Microsoft แทน แต่ถ้าคุณส่ง Email บางส่วนผ่านโฮสต์ด้วย (เช่น Form บนเว็บ) ควรตั้ง DKIM ของ cPanel ด้วยเช่นกัน

DKIM มีค่าใช้จ่ายเพิ่มเติมไหม?

ไม่มี DKIM เป็นฟีเจอร์ที่รวมอยู่ใน cPanel Hosting ทุกแผนโดยไม่มีค่าใช้จ่ายเพิ่ม แค่เปิดใช้งานผ่านหน้า Email Deliverability ก็พร้อมใช้ได้ทันที ไม่ต้องซื้อ Add-on หรือ Certificate เพิ่ม