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

ESMTP Extensions: Extended Simple Mail Transfer Protocol คืออะไร

ESMTP extensions คือส่วนขยายของ Simple Mail Transfer Protocol ดั้งเดิม ที่ช่วยให้ไคลเอนต์และเซิร์ฟเวอร์เจรจาขีดความสามารถระหว่าง handshake เริ่มต้น เมื่อใช้คำสั่ง EHLO แทน HELO ไคลเอนต์จะขอรายการส่วนขยายที่รองรับ ทำให้ใช้ฟีเจอร์อย่างการเข้ารหัส การยืนยันตัวตน และขนาดข้อความที่ใหญ่ขึ้นได้ โดยไม่ทำลายความเข้ากันได้ย้อนหลัง

กลไกการทำงาน

กระบวนการเริ่มเมื่อไคลเอนต์ส่งคำสั่ง EHLO ไปยังเซิร์ฟเวอร์ เซิร์ฟเวอร์ตอบด้วยรหัส 250 OK ตามด้วยรายการส่วนขยายที่รองรับ เช่น SIZE, STARTTLS หรือ AUTH ขั้นตอนเจรจานี้ทำให้ทั้งสองฝ่ายตกลงขีดความสามารถของเซสชันก่อนเริ่มถ่ายโอนอีเมลจริง หากเซิร์ฟเวอร์ไม่รองรับ ESMTP จะส่งข้อผิดพลาด 500 หรือ 502 กลับมา ทำให้ไคลเอนต์ถอยไปใช้คำสั่ง HELO พื้นฐาน

ความสำคัญต่อผู้ส่ง

ESMTP มีความสำคัญต่อความปลอดภัยและประสิทธิภาพของอีเมลสมัยใหม่ หากไม่มีส่วนขยายเหล่านี้ ผู้ส่งจะใช้ STARTTLS เพื่อเข้ารหัสการเชื่อมต่อ หรือ SMTP AUTH เพื่อพิสูจน์ตัวตนกับ relay ไม่ได้ ซึ่งช่วยป้องกันการส่งข้อมูลรับรองแบบข้อความธรรมดาและปกป้องความสมบูรณ์ของสตรีมอีเมล ผู้ส่งที่ใช้เครื่องมือของ SendHQ ตรวจสอบการตั้งค่า DNS และการยืนยันตัวตนได้ เพื่อให้แน่ใจว่าโครงสร้างพื้นฐานรองรับส่วนขยายที่จำเป็นเหล่านี้

ข้อควรทราบในการใช้งานทั่วไป

ข้อผิดพลาดที่พบบ่อยคือไม่จัดการการถอยจาก EHLO ไป HELO ซึ่งอาจทำให้เชื่อมต่อกับระบบเก่าไม่สำเร็จ นอกจากนี้ ไฟร์วอลล์หรืออุปกรณ์รักษาความปลอดภัยบางตัวตรวจสอบ SMTP และอาจตัดส่วนขยาย EHLO ออก ทำให้ STARTTLS ใช้งานไม่ได้และบังคับให้การเชื่อมต่ออยู่ในสถานะไม่ปลอดภัย ผู้ดูแลระบบต้องตรวจสอบให้แน่ใจว่าอุปกรณ์เครือข่ายตัวกลางไม่รบกวนกระบวนการเจรจาส่วนขยาย

ตัวอย่างที่เป็นรูปธรรม

ในเซสชันทั่วไป ไคลเอนต์ส่ง EHLO mail.example.com เซิร์ฟเวอร์ตอบด้วย 250-smtp.provider.com Hello, 250-SIZE 52428800, 250-STARTTLS, 250-AUTH PLAIN LOGIN ไคลเอนต์เห็น STARTTLS ในรายการ จึงส่งคำสั่ง STARTTLS ทันทีเพื่ออัปเกรดการเชื่อมต่อเป็น TLS ก่อนส่งคำสั่ง AUTH เพื่อให้ข้อมูลรับรอง

ความเข้ากันได้และมาตรฐาน

ESMTP รักษาความเข้ากันได้ย้อนหลังอย่างเข้มงวดกับข้อกำหนด SMTP ดั้งเดิม หากไคลเอนต์เก่าเกินไปจนไม่เข้าใจ EHLO เซิร์ฟเวอร์จะทำงานต่อด้วยคำสั่ง SMTP พื้นฐาน แนวทางแบบเป็นชั้นนี้ช่วยให้ระบบนิเวศอีเมลทั่วโลกพัฒนาและนำมาตรฐานความปลอดภัยใหม่มาใช้ได้ ขณะที่ยังส่งอีเมลข้ามโครงสร้างพื้นฐานที่มีอายุต่างกันได้

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

HELO กับ EHLO ต่างกันอย่างไร

HELO ใช้ใน SMTP พื้นฐานและระบุตัวไคลเอนต์เท่านั้น EHLO ใช้ใน ESMTP เพื่อระบุตัวไคลเอนต์และขอรายการส่วนขยายที่เซิร์ฟเวอร์รองรับ

ESMTP มาแทนที่ SMTP หรือไม่

ไม่ ESMTP เป็นส่วนขยายของ SMTP เพิ่มขีดความสามารถใหม่ ขณะที่ยังเข้ากันได้กับโปรโตคอลดั้งเดิมเพื่อรองรับระบบเก่า

ส่วนขยายใดพบบ่อยที่สุดในปัจจุบัน

ส่วนขยายที่สำคัญที่สุดคือ STARTTLS สำหรับการเข้ารหัส AUTH สำหรับการยืนยันตัวตนของไคลเอนต์ และ SIZE สำหรับระบุขีดจำกัดขนาดข้อความสูงสุด

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