เชิงเทคนิค · คำตอบพร้อมแหล่งอ้างอิง

วิธีตรวจสอบว่าโดเมนอีเมลถูกต้องหรือไม่

หากต้องการตรวจสอบว่าโดเมนอีเมลถูกต้องหรือไม่ ให้ค้นหา DNS สำหรับเรคคอร์ด Mail Exchanger (MX) เพื่อยืนยันว่าโดเมนตั้งค่ารับอีเมล โดเมนถือว่าใช้กับอีเมลได้หากมีเรคคอร์ด MX ที่ใช้งานอยู่อย่างน้อยหนึ่งรายการชี้ไปยังเมลเซิร์ฟเวอร์ หากไม่มีเรคคอร์ด MX โดเมนจะรับอีเมลไม่ได้ เว้นแต่จะ fallback ไปที่เรคคอร์ด A ซึ่งพบไม่บ่อยในการตั้งค่าสมัยใหม่

การตรวจสอบ Syntax

ขั้นแรกคือตรวจว่าโดเมนเป็นไปตามมาตรฐาน RFC 5322 ส่วนโดเมนของที่อยู่อีเมลต้องมี top level domain และเป็นไปตามกฎอักขระเฉพาะ ใช้ regular expression เพื่อให้แน่ใจว่าไม่มีอักขระต้องห้ามหรือจุดติดกันก่อนส่งคำขอผ่านเครือข่าย ช่วยป้องกันการค้นหา DNS ที่ไม่จำเป็นกับสตริงที่รูปแบบผิดอย่างชัดเจน

การค้นหาเรคคอร์ด MX

ค้นหา DNS เพื่อหาเรคคอร์ด MX ของโดเมน เรคคอร์ด MX ระบุเมลเซิร์ฟเวอร์ที่รับผิดชอบรับข้อความอีเมลแทนโดเมน หากการค้นหา DNS ได้เรคคอร์ด MX ที่ถูกต้องอย่างน้อยหนึ่งรายการ โดเมนก็สามารถรับเมลได้ในเชิงเทคนิค ใช้เครื่องมืออย่าง dig หรือ nslookup ตรวจสอบด้วยตนเองได้ ส่วนไลบรารีโปรแกรมมิงมีเมธอดแบบ asynchronous สำหรับตรวจสอบจำนวนมาก

Fallback ไปที่เรคคอร์ด A

ตามมาตรฐาน SMTP หากไม่มีเรคคอร์ด MX เซิร์ฟเวอร์ผู้ส่งอาจพยายามส่งเมลไปยังที่อยู่ IP ที่ระบุในเรคคอร์ด A ของโดเมน แม้เป็นพฤติกรรมแบบเก่า แต่การตรวจหาเรคคอร์ด A ก็ให้การตรวจสอบอีกชั้น อย่างไรก็ตาม การไม่มีทั้งเรคคอร์ด MX และ A ยืนยันว่าโดเมนใช้ส่งอีเมลไม่ได้

เครื่องมือตรวจสอบ

สำหรับนักพัฒนาที่ทำในระดับใหญ่ การใช้บริการตรวจสอบเฉพาะทางมีประสิทธิภาพกว่าการจัดการคำขอ DNS ดิบเอง SendHQ มีเครื่องมือฟรีที่ https://sendhq.cc/tools ช่วยตรวจสอบการตั้งค่าโดเมน เครื่องมือเหล่านี้ทำขั้นตอนการค้นหาโดยอัตโนมัติและตรวจหาการตั้งค่าผิดที่พบบ่อยซึ่งอาจทำให้การส่งล้มเหลว

การจัดการความล้มเหลวของ DNS

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

คำถามที่ทีมมักถาม

เรคคอร์ด MX ที่ถูกต้องรับประกันว่ามีที่อยู่อีเมลนั้นอยู่จริงหรือไม่

ไม่ เรคคอร์ด MX ยืนยันเพียงว่าโดเมนรับเมลได้ ไม่ได้ยืนยันว่ามีกล่องจดหมายหรือผู้ใช้เฉพาะรายอยู่บนเซิร์ฟเวอร์นั้น

โดเมนถูกต้องได้หรือไม่หากไม่มีเรคคอร์ด MX

ได้ หากโดเมนมีเรคคอร์ด A เซิร์ฟเวอร์ SMTP บางตัวจะพยายามส่งไปยัง IP นั้น แม้ไม่ใช่แนวปฏิบัติมาตรฐานของเมลสมัยใหม่

การตรวจสอบโดเมนกับการตรวจสอบอีเมลต่างกันอย่างไร

การตรวจสอบโดเมนดูว่าโดเมนตั้งค่ารับเมลหรือไม่ ส่วนการตรวจสอบอีเมลดู syntax ของที่อยู่เฉพาะและสถานะของโดเมน

แหล่งข้อมูลหลัก