ปัญหาอีเมลตกโฟลเดอร์ Spam เป็นเรื่องที่ธุรกิจออนไลน์ทุกรายต้องเผชิญ โดยเฉพาะเมื่อใช้อีเมล @โดเมนตัวเองในการติดต่อลูกค้าหรือส่ง Invoice หนึ่งในสาเหตุหลักที่ทำให้อีเมลถูกตีกลับหรือตกโฟลเดอร์ Junk คือการไม่มี DKIM (DomainKeys Identified Mail) ซึ่งเป็นระบบลายเซ็นดิจิทัลที่ช่วยพิสูจน์ว่าอีเมลที่ส่งออกไปนั้นมาจากเซิร์ฟเวอร์ที่ได้รับอนุญาตจากเจ้าของโดเมนจริงๆ บทความนี้จะแนะนำการตั้งค่า DKIM Key บน DirectAdmin ตั้งแต่ต้นจนจบ พร้อมขั้นตอนการเพิ่ม DNS Record และวิธีทดสอบว่า DKIM ทำงานถูกต้องหรือไม่

DKIM คืออะไร และทำงานอย่างไร

DKIM ย่อมาจาก DomainKeys Identified Mail เป็นโปรโตคอลการยืนยันตัวตนของอีเมลที่ใช้การเข้ารหัสแบบ Public-Key Cryptography หลักการทำงานคือเซิร์ฟเวอร์ผู้ส่งจะเพิ่ม Digital Signature ลงใน Header ของอีเมลทุกฉบับ โดยใช้ Private Key ที่เก็บไว้บนเซิร์ฟเวอร์อย่างปลอดภัย เมื่อเซิร์ฟเวอร์ผู้รับ เช่น Gmail หรือ Outlook ได้รับอีเมล จะค้นหา Public Key ที่เผยแพร่ไว้ใน DNS TXT Record ของโดเมนผู้ส่ง แล้วนำมาตรวจสอบว่า Signature ใน Header ตรงกันหรือไม่

กระบวนการนี้ช่วยพิสูจน์ 2 สิ่งสำคัญ ได้แก่ อีเมลฉบับนั้นมาจากโดเมนที่ระบุไว้จริง (Authentication) และเนื้อหาอีเมลไม่ถูกแก้ไขระหว่างทาง (Integrity) ซึ่งเป็นกุญแจสำคัญในการสร้าง Domain Reputation ที่ดีและทำให้อีเมลธุรกิจถึงมือลูกค้าได้อย่างมั่นใจ

ในปี 2024 Google ประกาศบังคับให้ผู้ส่งอีเมลที่ส่งมากกว่า 5,000 ฉบับต่อวันไปยัง Gmail ต้องมี DKIM ผ่านการตรวจสอบ นับเป็นสัญญาณที่ชัดเจนว่า DKIM ไม่ใช่แค่ "ตัวเลือกเพิ่มเติม" อีกต่อไป แต่เป็นมาตรฐานพื้นฐานที่ทุกธุรกิจควรตั้งค่าทันที

ความแตกต่างระหว่าง SPF, DKIM และ DMARC

มาตรฐานความปลอดภัยของอีเมลทั้งสาม (SPF, DKIM, DMARC) ทำงานร่วมกันเป็นระบบ แต่ละตัวมีบทบาทที่แตกต่างกัน การเข้าใจความแตกต่างจะช่วยให้คุณตั้งค่าได้ครบถ้วนและถูกต้อง

มาตรฐาน ทำงานอย่างไร ป้องกันอะไร ที่เก็บใน DNS
SPF ระบุ IP ที่อนุญาตให้ส่งอีเมลในนามโดเมน Spammers ส่งอีเมลแอบอ้างโดเมนคุณ TXT Record @ หรือ v=spf1...
DKIM เซ็นชื่ออีเมลด้วย Digital Signature ตรวจสอบได้ การปลอมแปลงและแก้ไขเนื้อหาอีเมล TXT Record mail._domainkey...
DMARC นโยบายว่าจะทำอย่างไรเมื่อ SPF/DKIM fail Brand impersonation, Phishing emails TXT Record _dmarc...

แนะนำให้ตั้งค่าทั้ง 3 มาตรฐานพร้อมกัน เริ่มจาก SPF → DKIM → DMARC ตามลำดับ เพราะ DMARC ต้องการให้ SPF หรือ DKIM (หรือทั้งคู่) ทำงานก่อน จึงจะทำงานได้อย่างมีประสิทธิภาพ

ขั้นตอนเปิดใช้งาน DKIM บน DirectAdmin

DirectAdmin มีฟีเจอร์ DKIM ในตัว สามารถเปิดใช้งานได้จากหน้า Control Panel โดยตรง โดยไม่ต้องสร้าง Key เองหรือแก้ไขไฟล์ Config ใดๆ บนเซิร์ฟเวอร์

ขั้นตอนที่ 1 — เข้าสู่ระบบ DirectAdmin

เปิดเบราว์เซอร์แล้วไปที่ URL ของ DirectAdmin Control Panel ซึ่งปกติจะอยู่ที่:

https://yourdomain.com:2222
หรือ
https://server-ip:2222

ล็อกอินด้วย Username และ Password ของ Hosting Account ของคุณ (ไม่ใช่ admin level เพียงแค่ user level ก็เพียงพอ)

ขั้นตอนที่ 2 — ไปที่เมนู E-Mail Manager

จากหน้า Dashboard ของ DirectAdmin ให้มองหา Section "E-Mail Manager" → "Domain Administration" → "DKIM" หรือในบาง version ของ DirectAdmin จะมีเมนู "DKIM Keys" โดยตรงใน E-Mail Manager

ถ้าไม่เห็นเมนู DKIM โดยตรง ให้ไปที่:

E-Mail Manager → Domain Administration → DKIM

ขั้นตอนที่ 3 — สร้าง DKIM Key

ในหน้า DKIM Setup ให้เลือกโดเมนที่ต้องการตั้งค่า แล้วกดปุ่ม "Create DKIM Key" หรือ "Generate DKIM" DirectAdmin จะสร้างคู่ Key (Private + Public) ให้อัตโนมัติ ค่าเริ่มต้นจะใช้ Selector ชื่อ mail และ Key ขนาด 2048 bits

หลังจาก Generate แล้ว DirectAdmin จะแสดง Public Key ในรูปแบบ TXT Record ที่ต้องเพิ่มลงใน DNS ดังนี้:

Name:  mail._domainkey.yourdomain.com
Type:  TXT
Value: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
       xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
       xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==

ค่า p= คือ Public Key ที่ยาวมาก ให้คัดลอกทั้งหมดอย่างระมัดระวัง อย่าให้ขาดหาย

ขั้นตอนที่ 4 — เพิ่ม DNS TXT Record

หากโดเมนของคุณใช้ Nameserver ของ AsiaGB Hosting DNS Zone จะถูกจัดการอยู่ใน DirectAdmin เอง DirectAdmin จะเพิ่ม DNS Record ให้อัตโนมัติทันทีที่กด Generate บางกรณีอาจต้องไปเพิ่มเองที่ DNS Management ดังนี้:

E-Mail Manager → DNS Administration → Add TXT Record

Hostname: mail._domainkey
TTL:      3600
Type:     TXT
Value:    v=DKIM1; k=rsa; p=PUBLIC_KEY_HERE

หากโดเมนใช้ Nameserver ของ Registrar อื่น เช่น Cloudflare หรือ GoDaddy ให้ไปเพิ่ม TXT Record ที่แผงควบคุม DNS ของ Registrar นั้น โดยใช้ค่าเดียวกัน

เคล็ดลับ: ถ้า Public Key ยาวเกิน 255 ตัวอักษร DNS Provider บางเจ้าจะให้แบ่ง String เป็นหลายส่วน เช่น "part1" "part2" โดยใส่ quotation marks คั่น DirectAdmin จะแสดงรูปแบบที่ถูกต้องให้อัตโนมัติ แต่ถ้า Copy ไปวางเอง ต้องระวังอย่าให้ช่องว่างหรือ Line Break แทรกเข้ามาใน Key เพราะจะทำให้ Verification fail

การตั้งค่า SPF Record ควบคู่กับ DKIM

SPF (Sender Policy Framework) เป็นมาตรฐานที่ควรตั้งค่าพร้อมกับ DKIM เสมอ เพราะ DMARC ต้องการให้อย่างน้อยหนึ่งในสองผ่าน ก่อนที่จะสามารถใช้ Policy ที่เข้มงวดได้

SPF Record สำหรับ Hosting บน AsiaGB มีรูปแบบดังนี้:

Hostname: @ (หรือ yourdomain.com)
Type:     TXT
Value:    v=spf1 a mx ip4:SERVER_IP ~all

อธิบายแต่ละส่วน:

ถ้าส่งอีเมลผ่านหลาย Service เช่น Google Workspace, Mailchimp หรือ SendGrid ต้องเพิ่ม include ของแต่ละบริการเข้าไปด้วย:

v=spf1 a mx include:_spf.google.com include:servers.mcsv.net ip4:SERVER_IP ~all

ข้อควรระวัง: SPF Record ต้องมีเพียง 1 Record ต่อโดเมนเท่านั้น ถ้ามีมากกว่า 1 จะเกิด SPF Permanent Error ซึ่งทำให้อีเมลทุกฉบับ fail SPF ทันที

การตั้งค่า DMARC Record เบื้องต้น

หลังจาก SPF และ DKIM ทำงานได้แล้ว ขั้นต่อไปคือเพิ่ม DMARC Record เพื่อบอกเซิร์ฟเวอร์ผู้รับว่าควรทำอย่างไรเมื่ออีเมลไม่ผ่าน SPF หรือ DKIM

แนะนำให้เริ่มต้นด้วย Policy p=none เพื่อ Monitor ก่อนโดยไม่บล็อกอีเมลใดๆ ระหว่างนี้จะได้รับ Report ทางอีเมลเพื่อตรวจสอบว่ามีอีเมลที่ fail DMARC มากน้อยแค่ไหน:

Hostname: _dmarc.yourdomain.com
Type:     TXT
Value:    v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1

อธิบายแต่ละ Tag:

หลังจาก Monitor ดูสักสัปดาห์และมั่นใจว่า SPF/DKIM ทำงานถูกต้องทั้งหมด ให้ค่อยๆ เข้มงวดขึ้นโดยเปลี่ยนเป็น p=quarantine (ส่งไป Spam) แล้วจึงเป็น p=reject (ปฏิเสธอีเมลที่ไม่ผ่าน) ในระยะยาว

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

หลังเพิ่ม DNS Record แล้วควรรอ 30 นาทีถึง 1 ชั่วโมงก่อนทดสอบ (บางกรณีอาจต้องรอสูงสุด 24 ชั่วโมง ขึ้นอยู่กับ TTL ของ DNS)

วิธีที่ 1 — ใช้ dig ตรวจสอบ DNS Record

เปิด Terminal หรือ Command Prompt แล้วรัน:

dig TXT mail._domainkey.yourdomain.com

# ผลที่ควรได้:
mail._domainkey.yourdomain.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBI..."

บน Windows สามารถใช้ nslookup -type=TXT mail._domainkey.yourdomain.com แทนได้ หรือถ้าไม่สะดวกใช้ Command Line ให้เปิด เครื่องมือตรวจ DKIM Record ของ dnsxray.com ใส่ Domain กับ Selector แล้วระบบจะดึง Record มาแยกส่วนประกอบให้ดูพร้อมตรวจความถูกต้องของ Public Key ทันที

วิธีที่ 2 — ทดสอบด้วย mail-tester.com

ไปที่ mail-tester.com แล้วคัดลอก Email Address ที่แสดง จากนั้นส่งอีเมลจากบัญชี @yourdomain.com ไปยัง Address นั้น รอประมาณ 1 นาทีแล้วกด "Then check your score" ระบบจะแสดงคะแนนพร้อมรายละเอียดว่า SPF, DKIM และ DMARC ผ่านหรือไม่

วิธีที่ 3 — ตรวจจาก Gmail Header

ส่งอีเมลทดสอบไปยัง Gmail แล้วเปิดอีเมลนั้น คลิก Menu (3 จุด) แล้วเลือก "Show original" หรือ "ดูต้นฉบับ" มองหาบรรทัด:

Authentication-Results: mx.google.com;
   dkim=pass [email protected] header.s=mail header.b=AbCdEfGh;
   spf=pass (google.com: domain of [email protected] designates 1.2.3.4 as permitted sender)

ถ้าเห็น dkim=pass และ spf=pass แสดงว่าตั้งค่าถูกต้องแล้ว

ปัญหาที่พบบ่อยและวิธีแก้

แม้จะทำตามขั้นตอนครบถ้วนแล้ว บางครั้งอาจยังพบปัญหา ต่อไปนี้คือปัญหาที่เจอบ่อยที่สุดและวิธีแก้ที่ได้ผล:

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

DKIM คืออะไรและทำไมถึงสำคัญสำหรับ Email Deliverability

DKIM (DomainKeys Identified Mail) คือมาตรฐานการยืนยันตัวตนของอีเมลโดยใช้ลายเซ็นดิจิทัล (Digital Signature) เซิร์ฟเวอร์ผู้ส่งจะเซ็นชื่อในอีเมลด้วย Private Key ส่วนเซิร์ฟเวอร์ผู้รับตรวจสอบด้วย Public Key ที่เก็บใน DNS เมื่ออีเมลมี DKIM ที่ผ่านการตรวจสอบ Gmail, Outlook และเซิร์ฟเวอร์อื่นๆ จะมองว่าอีเมลนั้น Legitimate มากขึ้น ลดโอกาสตกโฟลเดอร์ Spam อย่างมีนัยสำคัญ

ตั้งค่า DKIM บน DirectAdmin แล้วยังไม่ผ่าน ต้องทำอย่างไร

ปัญหาที่พบบ่อยที่สุดคือ DNS TTL ยังไม่หมดอายุ (ใช้เวลาสูงสุด 24-48 ชั่วโมง) ให้รอแล้วทดสอบซ้ำด้วย mail-tester.com หรือ dkimvalidator.com ถ้ายังไม่ผ่านหลัง 48 ชั่วโมง ให้ตรวจ TXT Record ในหน้า DNS Management ว่าค่า p= ตรงกับ Public Key ใน DirectAdmin หรือไม่ และตรวจว่า Selector ที่ใช้ในอีเมล (mail._domainkey) ตรงกับ DNS Record ที่เพิ่มไว้

ต้องตั้งค่า SPF, DKIM และ DMARC ครบทั้งสามอันไหม หรือแค่ DKIM อย่างเดียวพอ

ในปี 2024 Google และ Yahoo ประกาศบังคับให้ผู้ส่งอีเมลจำนวนมาก (Bulk Sender) ต้องมี SPF + DKIM ทั้งคู่และ DMARC อย่างน้อย p=none เพื่อให้อีเมลผ่านเข้า Inbox ได้ แม้ไม่ได้ส่ง Bulk Mail การตั้งค่าครบทั้งสามจะเพิ่ม Reputation ของโดเมนในระยะยาว และลดความเสี่ยงที่อีเมลธุรกิจสำคัญจะตก Spam โดยเฉพาะเมื่อส่งหา Gmail หรือ Outlook

DKIM Key ขนาด 1024 bits กับ 2048 bits ต่างกันอย่างไร ควรเลือกใช้อันไหน

1024-bit DKIM Key นั้นถือว่าอ่อนแอในมาตรฐานปัจจุบัน NIST และผู้เชี่ยวชาญด้านความปลอดภัยแนะนำให้ใช้ 2048-bit เป็นอย่างน้อยตั้งแต่ปี 2015 เป็นต้นมา DirectAdmin รองรับการสร้าง 2048-bit Key และ DNS TXT Record ของ DNS Provider ส่วนใหญ่รองรับ Key ขนาดนี้ได้ ข้อเสียเดียวของ 2048-bit คือ TXT Record มีขนาดใหญ่ขึ้น ซึ่งอาจต้องแบ่งเป็น multi-string ใน DNS บางระบบ แต่ DirectAdmin จัดการส่วนนี้ให้อัตโนมัติ

Email Hosting ธุรกิจ @โดเมนตัวเอง

AsiaGB Email พร้อม SPF DKIM DMARC Deliverability สูง เริ่มต้น 200 บาท/ปี

ดูแพ็กเกจ Email