เชิงเทคนิค · คำตอบพร้อมแหล่งอ้างอิง
การตรวจสอบที่อยู่อีเมล (Email Address Validation)
การตรวจสอบที่อยู่อีเมลคือกระบวนการยืนยันว่าที่อยู่อีเมลมี syntax ถูกต้องและสอดคล้องกับมาตรฐานอินเทอร์เน็ต ช่วยให้มั่นใจว่าที่อยู่ที่ให้มามีรูปแบบถูกต้องและโดเมนปลายทางตั้งค่าให้รับเมลได้ ก่อนที่จะพยายามส่งข้อความ
การตรวจสอบ Syntax
ขั้นแรกของการตรวจสอบคือเทียบสตริงกับมาตรฐาน RFC 5322 เพื่อให้แน่ใจว่าที่อยู่มี local part เครื่องหมาย at และ domain part ระบุอักขระที่ไม่ถูกต้อง จุดที่วางผิดที่ หรือส่วนประกอบที่ขาด ซึ่งจะทำให้ SMTP ล้มเหลวทันที
การตรวจสอบเรคคอร์ด DNS และ MX
หลังตรวจ syntax ระบบจะค้นหา DNS เพื่อยืนยันว่าโดเมนมีอยู่ โดยเฉพาะตรวจหาเรคคอร์ด Mail Exchanger (MX) หากโดเมนไม่มีเรคคอร์ด MX หรือการ resolve DNS ล้มเหลว โดเมนนั้นรับอีเมลไม่ได้ และทุกความพยายามส่งจะเป็น hard bounce
ผลต่อชื่อเสียงผู้ส่ง
การส่งไปยังที่อยู่ที่ไม่ถูกต้องทำให้อัตราอีเมลตีกลับสูงขึ้น ซึ่งเป็นสัญญาณต่อ ISP ผู้รับว่าผู้ส่งใช้รายชื่อคุณภาพต่ำหรือส่งสแปม อัตราอีเมลตีกลับที่สูงอาจนำไปสู่การขึ้น blacklist ของ IP และทำให้ข้อความที่ถูกต้องส่งถึงได้น้อยลง
การนำไปใช้งาน
นักพัฒนามักตรวจสอบที่จุดรับข้อมูลด้วย regular expression หรือไลบรารีเฉพาะทาง สำหรับรายชื่อจำนวนมาก การใช้ SendHQ หรือเครื่องมือฟรีของ SendHQ (https://sendhq.cc/tools) ช่วยระบุที่อยู่ที่รูปแบบผิดก่อนเข้าสู่ไปป์ไลน์การส่ง
ตัวอย่างการตรวจสอบ
ที่อยู่อย่าง user@example..com ไม่ผ่านการตรวจ syntax เพราะมีจุดซ้อนกัน ที่อยู่อย่าง user@nonexistent-domain-12345.com ผ่านการตรวจ syntax แต่ไม่ผ่านขั้นตอนค้นหาเรคคอร์ด MX ใน DNS
คำถามที่ทีมมักถาม
การตรวจสอบรับประกันว่าอีเมลยังใช้งานอยู่หรือไม่
ไม่ การตรวจสอบยืนยันเพียงว่ารูปแบบถูกต้องและโดเมนตั้งค่ารับเมล แต่ไม่ยืนยันว่าบัญชีนั้นยังใช้งานอยู่หรือไม่
การตรวจสอบ (validation) กับการยืนยัน (verification) ต่างกันอย่างไร
validation มักหมายถึงการตรวจ syntax และ DNS ส่วน verification มักเป็นการตรวจเชิงลึกกว่าเพื่อยืนยันว่าที่อยู่นั้นส่งถึงได้
ทำไมการตรวจ syntax อย่างเดียวจึงไม่พอ
ที่อยู่อีเมลที่รูปแบบถูกต้องสมบูรณ์ก็ยังใช้ไม่ได้ได้ หากโดเมนไม่มีอยู่จริงหรือไม่ได้ตั้งค่ารับทราฟฟิก SMTP ขาเข้า
แหล่งข้อมูลหลัก
- ข้อกำหนด RFC 5322: Internet Message Format — RFC Editor
- ข้อกำหนด RFC 5321: Simple Mail Transfer Protocol — RFC Editor