ตั้งค่า MX Record สำหรับ Email Hosting ทีละขั้นตอน

อยากใช้อีเมลในรูปแบบ [email protected] แทนที่จะเป็น Gmail หรือ Hotmail ส่วนตัว? ขั้นตอนแรกที่ขาดไม่ได้คือการตั้งค่า MX Record ใน DNS ของโดเมนให้ถูกต้อง บทความนี้อธิบายตั้งแต่ MX Record คืออะไร ไปจนถึงการตั้งค่า SPF, DKIM, DMARC เพื่อให้อีเมลถึงปลายทางโดยไม่ตก Spam

MX Record คืออะไร

MX Record (Mail Exchanger Record) คือ DNS Record ประเภทหนึ่งที่บอกว่า Mail Server ไหนรับผิดชอบจัดการอีเมลของโดเมนนั้น เมื่อใครส่งอีเมลมาที่ [email protected] Mail Server ของผู้ส่งจะ Query DNS ของ example.com เพื่อหา MX Record แล้วส่งอีเมลไปยัง Server ที่ระบุไว้

MX Record ต้องชี้ไปยัง Hostname (A Record) ไม่ใช่ IP Address โดยตรง และแต่ละ MX Record มีค่า Priority — ตัวเลขน้อยกว่าหมายถึงลำดับความสำคัญสูงกว่า

ตัวอย่าง MX RecordPriorityหมายความว่า
mail.example.com10Server หลัก (ลองก่อน)
mail2.example.com20Server สำรอง (ถ้าหลักล้มเหลว)

ทำไมต้องตั้ง MX Record

ถ้าโดเมนของคุณไม่มี MX Record หรือตั้งค่าผิด อีเมลที่ส่งมาจากภายนอกจะไม่มีที่ส่ง ผู้ส่งจะได้รับ Error เช่น 550 No such user here หรือ MX lookup failed ซึ่งหมายความว่าอีเมลของคุณใช้งานไม่ได้เลย

โครงสร้าง DNS ที่เกี่ยวข้องกับอีเมล

ในระบบ DNS มี Record หลายประเภทที่ทำงานร่วมกันเพื่อให้ระบบอีเมลทำงานได้อย่างสมบูรณ์ นอกจาก MX Record แล้ว ยังมี Record อื่นที่ขาดไม่ได้ดังนี้

Record ประเภท หน้าที่ จำเป็นหรือไม่
MX RecordMXระบุ Mail Server รับอีเมลบังคับ
A Record ของ mail serverAแปลงชื่อ mail server → IPบังคับ
SPFTXTอนุญาต IP ส่งอีเมลแทนโดเมนแนะนำ
DKIMTXTลายเซ็นดิจิทัลอีเมลแนะนำ
DMARCTXTPolicy อีเมลที่ผ่าน SPF/DKIM ไม่ได้แนะนำ
PTR / Reverse DNSPTRตรวจสอบความน่าเชื่อถือ IP ส่งเสริม

MX Record ทำหน้าที่กำหนดว่าจะ "รับ" อีเมลที่ไหน ส่วน SPF, DKIM และ DMARC ทำงานด้าน "ส่ง" เพื่อยืนยันว่าอีเมลนั้นเชื่อถือได้จริง ทั้งสองฝั่งต้องครบถึงจะทำให้ระบบอีเมลทำงานได้อย่างมีประสิทธิภาพ

ค่า Priority ของ MX Record ส่งผลอย่างไร

ค่า Priority หรือ Preference ของ MX Record เป็นตัวเลขที่บอก Mail Server ผู้ส่งว่าควรลองส่งไปยัง Server ไหนก่อน ระบบจะเลือก Server ที่มีตัวเลข Priority น้อยที่สุด ก่อนเสมอ ถ้า Server นั้นไม่ตอบสนองหรือ Busy จึงจะลองอันถัดไป

# ตัวอย่าง MX Records พร้อม Priority
yourdomain.com.  3600  IN  MX  10 mail.yourdomain.com.   (Primary)
yourdomain.com.  3600  IN  MX  20 mail2.yourdomain.com.  (Secondary)
yourdomain.com.  3600  IN  MX  30 mail3.backup.com.      (Tertiary)

ในการตั้งค่าจริงสำหรับ Email Hosting ทั่วไป มักใช้ MX Record เพียงรายการเดียว (Priority 10) และใช้ High-Availability ในระดับ Server แทนการมีหลาย MX Record เพราะการตั้งหลาย MX ที่ชี้ไปต่างเซิร์ฟเวอร์โดยไม่ซิงค์ Mail Store จะทำให้อีเมลตกหาย

เคล็ดลับ: ถ้าผู้ให้บริการ Email Hosting กำหนดค่า Priority มาให้แล้ว (เช่น Google Workspace กำหนด 1/5/10) ให้ใช้ค่านั้นตรงๆ อย่าเปลี่ยนเลขเอง เพราะการ Load Balance ระหว่าง Server นั้นออกแบบมาแล้ว

การแก้ปัญหาอีเมลตก Spam หลังตั้ง MX Record แล้ว

แม้จะตั้ง MX Record ถูกต้องแล้ว ปัญหาที่พบบ่อยคืออีเมลถูกส่งแล้วแต่ตก Spam ที่ปลายทาง สาเหตุหลักมักไม่ใช่เรื่อง MX Record แต่เป็นเรื่อง Email Authentication ที่ยังไม่ครบ ตรวจสอบตามลำดับดังนี้

⚠️ ข้อผิดพลาดที่พบบ่อย: การตั้ง SPF แบบ +all (อนุญาตทุก IP) เป็นความเสี่ยงด้านความปลอดภัยอย่างมาก เพราะทำให้ใครก็ส่งอีเมลแทนโดเมนของคุณได้ ใช้ ~all หรือ -all เท่านั้น

วิธีตั้งค่าใน DirectAdmin DNS Management

ถ้าโดเมนของคุณอยู่กับ AsiaGB และใช้ DirectAdmin ทำตามขั้นตอนนี้

  1. Login เข้า DirectAdmin → DNS Management
  2. เลือกโดเมนที่ต้องการแก้ไข
  3. หาส่วน MX Records แล้วลบ Record เดิมออก (ถ้ามี)
  4. เพิ่ม MX Record ใหม่ตามข้อมูลที่ผู้ให้บริการ Email Hosting ของคุณให้มา
  5. ตั้งค่า TTL เป็น 3600 (1 ชั่วโมง) หรือตามที่ผู้ให้บริการแนะนำ
  6. กด Save

ตัวอย่าง MX Record สำหรับ Email Hosting ที่ Server ของ AsiaGB เอง

# ใน DirectAdmin DNS Management
Type:     MX
Name:     @  (หรือชื่อโดเมนของคุณ)
Value:    mail.yourdomain.com
Priority: 10
TTL:      3600

⚠️ สำคัญ: ถ้าใช้ Email Hosting จากผู้ให้บริการภายนอก เช่น Google Workspace หรือ Microsoft 365 ต้องใส่ค่า MX ตามที่เขากำหนดมาให้ อย่าแต่งค่าเอง เพราะค่าจะแตกต่างกันทุกราย

ตรวจสอบ MX Record ด้วย dig / nslookup

หลังบันทึกแล้วรอ DNS Propagation สักครู่ แล้วตรวจสอบได้ด้วยคำสั่ง

# ใช้ dig (Linux / macOS)
dig MX yourdomain.com

# ใช้ nslookup (Windows)
nslookup -type=MX yourdomain.com

ผลลัพธ์ที่ถูกต้องควรแสดง MX Record ที่คุณเพิ่งตั้ง เช่น

yourdomain.com.  3600  IN  MX  10 mail.yourdomain.com.

หรือใช้เครื่องมือออนไลน์ เช่น MXToolbox (mxtoolbox.com) ตรวจสอบได้สะดวกจากเบราว์เซอร์

ตั้ง SPF, DKIM, DMARC ป้องกัน Spam

การตั้ง MX Record อย่างเดียวไม่พอ ต้องตั้งค่า Email Authentication Records เพิ่มเติมเพื่อป้องกันอีเมลตก Spam หรือถูก Spoof

SPF Record (Sender Policy Framework)

บอกว่า Mail Server IP ไหนได้รับอนุญาตส่งอีเมลในนามโดเมนของคุณ เพิ่มเป็น TXT Record

Type:  TXT
Name:  @ (หรือชื่อโดเมน)
Value: "v=spf1 mx a ip4:YOUR_SERVER_IP ~all"

DKIM Record (DomainKeys Identified Mail)

เพิ่ม Digital Signature ให้อีเมลทุกฉบับ ปลายทางสามารถตรวจสอบได้ว่าอีเมลนั้นส่งมาจากเซิร์ฟเวอร์ที่ถูกต้องจริง ค่า DKIM จะได้จากผู้ให้บริการ Email Hosting ของคุณ มีรูปแบบประมาณนี้

Type:  TXT
Name:  default._domainkey.yourdomain.com
Value: "v=DKIM1; k=rsa; p=MIGfMA0GCS...<public key>"

DMARC Record

กำหนด Policy ว่าจะทำอย่างไรกับอีเมลที่ผ่าน SPF/DKIM ไม่ได้ เริ่มต้นด้วย p=none เพื่อ Monitor ก่อน แล้วค่อยขยับเป็น quarantine หรือ reject

Type:  TXT
Name:  _dmarc.yourdomain.com
Value: "v=DMARC1; p=none; rua=mailto:[email protected]"

ลำดับความสำคัญ: ตั้ง MX → SPF → DKIM → DMARC ตามลำดับนี้ครบทั้ง 4 อย่าง อัตราที่อีเมลของคุณจะถึงปลายทางจะสูงขึ้นมาก

DNS Propagation ใช้เวลานานแค่ไหน

หลังจากบันทึก DNS Record แล้ว การเปลี่ยนแปลงจะไม่มีผลทันที เพราะ DNS Server ทั่วโลกต้องอัปเดต Cache ซึ่งใช้เวลา

ระหว่างรอ Propagate อีเมลบางส่วนอาจยังส่งไปยัง Server เดิม ซึ่งเป็นเรื่องปกติ

Checklist: MX Record ✓ → SPF ✓ → DKIM ✓ → DMARC ✓ → ตรวจสอบด้วย MXToolbox ✓ — ครบแล้วอีเมลโดเมนของคุณพร้อมใช้งานแบบ Professional

อีเมลโดเมนตัวเองกับการสร้างความน่าเชื่อถือทางธุรกิจ

นอกจากประโยชน์ด้านเทคนิค การใช้อีเมลในรูปแบบ [email protected] มีผลโดยตรงต่อความน่าเชื่อถือในการทำธุรกิจ

AsiaGB มีบริการ Hosting ที่รวม Email Hosting ไว้แล้ว รองรับอีเมลโดเมนตัวเองพร้อมใช้งาน Webmail, IMAP/POP3 และ SMTP ตั้งค่า MX Record ได้ผ่าน DirectAdmin โดยไม่ต้องใช้บริการภายนอกเพิ่มเติม ทำให้การบริหารจัดการโดเมน DNS และอีเมลอยู่ในที่เดียวกัน

การตั้งค่า MX Record สำหรับระบบอีเมลองค์กร

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

การใช้หลาย MX Record เพื่อ Redundancy

ในระบบ Email Hosting ที่ผู้ให้บริการจัดการ Redundancy เองอยู่แล้ว การตั้ง MX Record หลายรายการอาจไม่จำเป็น แต่ถ้าบริหาร Mail Server เองและต้องการ Failover ต้องแน่ใจว่า Mail Store ของทั้ง 2 เซิร์ฟเวอร์ Sync กันอยู่ตลอดเวลา มิฉะนั้นอีเมลที่รับผ่าน Secondary Server จะมองไม่เห็นจาก Primary

แนวทางองค์กร: ถ้าใช้ Google Workspace หรือ Microsoft 365 ให้ปฏิบัติตาม MX Record ที่ผู้ให้บริการกำหนดมาให้เท่านั้น อย่าเพิ่ม MX Record ชี้ไปเซิร์ฟเวอร์อื่นเองเด็ดขาด เพราะอาจทำให้อีเมลบางส่วนไม่ถึงกล่องขาเข้า

การตั้งค่า TTL ที่เหมาะสม

TTL (Time-to-Live) ของ MX Record กำหนดว่า DNS Server ทั่วโลกจะ Cache ค่านี้ไว้นานแค่ไหนก่อนจะมาตรวจสอบใหม่ ค่าที่เหมาะสมขึ้นอยู่กับสถานการณ์ดังนี้

สถานการณ์ TTL แนะนำ เหตุผล
ปกติ ไม่ได้วางแผนเปลี่ยน Server3600–86400 วินาทีลด DNS query load ทั่วโลก
กำลังจะย้าย Mail Server เร็วๆ นี้300 วินาที (5 นาที)Propagation เร็ว เปลี่ยนได้ทันที
ระหว่างการ Migration60–300 วินาทีควบคุม Cutover ได้แม่นยำ

ลดค่า TTL อย่างน้อย 24 ชั่วโมงก่อนวันย้าย Mail Server เพื่อให้ DNS Cache เก่าหมดอายุทั่วโลกก่อน จากนั้นจึงเปลี่ยน MX Record ได้อย่างมั่นใจ

การทดสอบและ Monitor ระบบอีเมลหลัง Setup

หลังจากตั้งค่า MX Record และ Email Authentication Records ครบแล้ว ขั้นตอนต่อไปคือการทดสอบให้ครอบคลุมทุกด้านก่อนจะเริ่มใช้งานจริง เพราะปัญหาที่ตรวจพบหลังจากองค์กรใช้งานไปแล้วอาจกระทบภาพลักษณ์ธุรกิจได้

เครื่องมือทดสอบที่แนะนำ

สิ่งที่ต้องตรวจสอบสม่ำเสมอหลัง Go-Live

⚠️ ระวัง: หลังเปลี่ยน Mail Server อย่าลืมอัปเดต SPF Record ให้ตรงกับ IP ใหม่ด้วย เพราะถ้า IP ใหม่ไม่อยู่ใน SPF อีเมลที่ส่งออกจะถูก Reject หรือตก Spam ทันที

กรณีศึกษา: ปัญหา MX Record ที่พบบ่อยและวิธีแก้

ปัญหาที่ผู้ใช้งาน Email Hosting มักพบบ่อยที่สุด พร้อมแนวทางวินิจฉัยและแก้ไขอย่างเป็นระบบ

ปัญหา: ส่งอีเมลได้แต่รับไม่ได้

สาเหตุที่พบบ่อยที่สุดคือ MX Record ยังชี้ไปเซิร์ฟเวอร์เดิม หรือ TTL ยังไม่หมดอายุ ให้ตรวจสอบด้วยคำสั่ง dig MX yourdomain.com @8.8.8.8 เพื่อตรวจสอบว่า Google DNS เห็น MX ใหม่แล้วหรือยัง ถ้ายังเห็นเก่าอยู่ให้รอให้ TTL หมดก่อน

ปัญหา: อีเมลส่งออกได้แต่ถูก Reject ที่ปลายทาง

ตรวจสอบ SMTP Error Message ที่ได้รับกลับ ถ้าเห็น 550 5.7.1 SPF check failed แสดงว่า IP ที่ใช้ส่งไม่อยู่ใน SPF Record ถ้าเห็น 550 5.7.26 This message fails DMARC แสดงว่า DKIM ไม่ผ่านหรือ SPF Fail และ DMARC Policy ตั้งเป็น reject

# ตรวจสอบ SPF ด้วย dig
dig TXT yourdomain.com | grep spf

# ตรวจสอบ DMARC ด้วย dig
dig TXT _dmarc.yourdomain.com

# ตรวจสอบ DKIM (แทน selector ด้วยชื่อจริง เช่น default, google, mail)
dig TXT default._domainkey.yourdomain.com

ปัญหา: อีเมลส่งไปแต่ไม่มีตอบกลับมานาน

อาจเกิดจาก Greylisting ที่ปลายทาง ซึ่งเป็นเทคนิคป้องกัน Spam โดยปฏิเสธอีเมลครั้งแรกชั่วคราว Mail Server ที่ถูกต้องจะส่งซ้ำอัตโนมัติภายใน 5–30 นาที ตรวจสอบ Mail Queue บน Server ว่ามีอีเมลรอส่งซ้ำอยู่หรือไม่ ถ้าไม่มีใน Queue และยังไม่ถึงปลายทาง ให้ตรวจว่า IP ติด Blacklist หรือไม่

MX Record กับการย้ายผู้ให้บริการ Email Hosting

การย้าย Email Hosting จากผู้ให้บริการเดิมไปยังรายใหม่เป็นขั้นตอนที่ละเอียดอ่อน เพราะอีเมลที่อยู่ระหว่างส่งในช่วง Transition อาจสูญหายได้ถ้าไม่วางแผนให้ดี แนวทางที่แนะนำสำหรับการ Migration ที่ Downtime น้อยที่สุดมีดังนี้

  1. ลด TTL ของ MX Record ให้เหลือ 300 วินาที อย่างน้อย 24 ชั่วโมงก่อนวันย้าย
  2. Setup Mail Server ใหม่ให้พร้อมรับอีเมล บน Provider ใหม่ ทดสอบส่ง-รับบน Server ใหม่ก่อนเปลี่ยน MX
  3. Export Mail Box เดิม ออกมาสำรองไว้ก่อน อาจใช้ IMAP Sync หรือ Export PST/Mbox
  4. เปลี่ยน MX Record ชี้ไปยัง Server ใหม่ในช่วงเวลาที่อีเมลน้อยที่สุด (เช่น ช่วงดึก)
  5. ตรวจสอบว่า MX ใหม่ Propagate แล้ว ด้วย dig MX @8.8.8.8 และ dig MX @1.1.1.1
  6. อัปเดต SPF, DKIM, DMARC ให้ตรงกับ Server ใหม่ ห้ามลืม
  7. Monitor อีเมลเข้า-ออกอย่างน้อย 48 ชั่วโมง หลัง Cutover เพื่อให้มั่นใจว่าไม่มีอะไรตกหาย

เคล็ดลับ Migration: อย่าปิด Mail Server เดิมทันทีหลังเปลี่ยน MX เพราะอาจยังมีอีเมลที่ถูก Queue ไว้ก่อนการ Propagate รอส่งเข้ามาอีก ให้คง Server เดิมไว้อย่างน้อย 48–72 ชั่วโมงหลัง Cutover แล้วค่อยปิด

จดโดเมนพร้อมใช้อีเมลมืออาชีพ

จดโดเมน .co.th ราคา 800 บาท/ปี ใช้คู่กับ Hosting ที่มี Email Hosting รวมอยู่ด้วย DNS Management ฟรี

จดโดเมนเลย