โปรโตคอลอีเมลทั่วไปอธิบาย: SMTP, POP3, IMAP และส่วนขยายสมัยใหม่
ภาพรวมของโปรโตคอลอีเมล
อีเมลในฐานะหนึ่งในบริการการสื่อสารพื้นฐานที่สุดบนอินเทอร์เน็ต พึ่งพาโปรโตคอลที่เป็นมาตรฐานหลายโปรโตคอลเพื่อรับประกันการทำงานร่วมกันข้ามแพลตฟอร์มและข้ามผู้ให้บริการ โปรโตคอลเหล่านี้กำหนดรูปแบบ วิธีการส่ง และกฎการจัดเก็บสำหรับอีเมล สร้างโครงสร้างพื้นฐานของระบบอีเมลระดับโลก บทความนี้จะอธิบายรายละเอียดโปรโตคอลอีเมลหลักและหลักการทำงานของพวกเขา
SMTP: Simple Mail Transfer Protocol
หลักการพื้นฐานและฟังก์ชัน
SMTP (Simple Mail Transfer Protocol) เป็นโปรโตคอลมาตรฐานสำหรับการส่งอีเมลจากผู้ส่งไปยังเซิร์ฟเวอร์ของผู้รับ ถูกกำหนดครั้งแรกใน RFC 821 ในปี 1982 และได้รับการอัปเดตหลายครั้งนับตั้งแต่นั้น หน้าที่หลักของ SMTP รวมถึง:
- สร้างการเชื่อมต่อระหว่างไคลเอนต์เมลที่ส่งและเซิร์ฟเวอร์เมล
- ดำเนินการรีเลย์และเส้นทางอีเมลระหว่างเซิร์ฟเวอร์เมล
- จัดการการแจ้งเตือนข้อผิดพลาดและรหัสสถานะระหว่างกระบวนการส่งอีเมล
SMTP ทำงานที่ชั้นแอปพลิเคชันของสแต็กโปรโตคอล TCP/IP และใช้พอร์ต TCP 25 เป็นค่าเริ่มต้น ในสถาปัตยกรรมอีเมลพื้นฐาน SMTP รับผิดชอบเฉพาะการส่งและโอนย้ายอีเมล ไม่ใช่การรับและจัดเก็บขั้นสุดท้าย
การไหลการโต้ตอบของ SMTP
เซสชัน SMTP ทั่วไปรวมถึงขั้นตอนต่อไปนี้:
- การสร้างการเชื่อมต่อ: ไคลเอนต์สร้างการเชื่อมต่อ TCP กับเซิร์ฟเวอร์
- การทักทาย: เซิร์ฟเวอร์ส่งข้อความต้อนรับ รวมถึงตัวตนและส่วนขยายที่รองรับ
- การยืนยันตัวตน: ไคลเอนต์ให้ข้อมูลประจำตัว (ในสถานการณ์ที่ต้องการการยืนยันตัวตน)
- การตั้งค่าผู้ส่ง: ไคลเอนต์ระบุผู้ส่งโดยใช้คำสั่ง MAIL FROM
- การตั้งค่าผู้รับ: ไคลเอนต์ระบุผู้รับหนึ่งคนหรือมากกว่าด้วยคำสั่ง RCPT TO
- การโอนข้อมูล: ไคลเอนต์ส่งคำสั่ง DATA จากนั้นโอนเนื้อหาอีเมล
- เครื่องหมายสิ้นสุด: เนื้อหาอีเมลสิ้นสุดด้วยจุด (.) ในบรรทัดแยก
- การยืนยันของเซิร์ฟเวอร์: เซิร์ฟเวอร์ยืนยันการรับและส่งคืนรหัสสถานะ
- การสิ้นสุดเซสชัน: ไคลเอนต์ส่งคำสั่ง QUIT เพื่อสิ้นสุดเซสชัน
ส่วนขยาย SMTP สมัยใหม่
เมื่ออินเทอร์เน็ตพัฒนาขึ้น โปรโตคอล SMTP พื้นฐานได้รับการปรับปรุงด้วยส่วนขยายต่างๆ:
- ESMTP (Extended SMTP): เพิ่มคำสั่งและตัวเลือกใหม่ รองรับการยืนยันตัวตน การเข้ารหัส และฟังก์ชันอื่นๆ
- SMTP-AUTH: ให้กลไกการยืนยันตัวตนผู้ใช้เพื่อป้องกันการส่งอีเมลที่ไม่มีสิทธิ์
- STARTTLS: รองรับการใช้การเข้ารหัส TLS บนการเชื่อมต่อ SMTP เพื่อปกป้องเนื้อหาการสื่อสาร
- SMTPS: SMTP ที่ใช้การเข้ารหัส SSL/TLS ตลอดทั้งเซสชัน
- SMTP SIZE: อนุญาตให้ไคลเอนต์ประกาศขนาดอีเมล ทำให้เซิร์ฟเวอร์ตัดสินใจว่าจะยอมรับหรือไม่
POP3: Post Office Protocol version 3
หลักการพื้นฐานและฟังก์ชัน
POP3 (Post Office Protocol version 3) เป็นโปรโตคอลมาตรฐานสำหรับการดึงอีเมลจากเซิร์ฟเวอร์ระยะไกล กำหนดใน RFC 1939 ฟังก์ชันหลักของ POP3 รวมถึง:
- อนุญาตให้ผู้ใช้ดาวน์โหลดอีเมลจากเซิร์ฟเวอร์เมลไปยังอุปกรณ์ท้องถิ่น
- รองรับตัวเลือกในการเก็บหรือลบสำเนาอีเมลบนเซิร์ฟเวอร์หลังการดาวน์โหลด
- ให้กลไกการยืนยันตัวตนผู้ใช้พื้นฐาน
POP3 ใช้พอร์ต TCP 110 สำหรับการสื่อสารข้อความธรรมดาหรือพอร์ต 995 สำหรับการสื่อสารที่เข้ารหัส SSL/TLS (POP3S)
โหมดการทำงาน
โปรโตคอล POP3 มักทำงานในหนึ่งในสองโหมด:
- โหมดดาวน์โหลดและลบ: อีเมลถูกลบจากเซิร์ฟเวอร์หลังจากดาวน์โหลดไปยังไคลเอนต์ เหมาะสำหรับสถานการณ์การเข้าถึงอุปกรณ์เดียว
- โหมดดาวน์โหลดและเก็บ: สำเนาอีเมลถูกเก็บไว้บนเซิร์ฟเวอร์หลังการดาวน์โหลด อนุญาตให้เข้าถึงจากหลายอุปกรณ์แต่อาจทำให้เกิดปัญหาพื้นที่จัดเก็บ
การไหลการโต้ตอบของ POP3
เซสชัน POP3 ทั่วไปรวมถึงขั้นตอนต่อไปนี้:
- การสร้างการเชื่อมต่อ: ไคลเอนต์เชื่อมต่อกับเซิร์ฟเวอร์ POP3 (พอร์ต 110 หรือ 995)
- ขั้นตอนการยืนยันตัวตน: ใช้คำสั่ง USER/PASS เพื่อให้ชื่อผู้ใช้และรหัสผ่าน
- ขั้นตอนการทำธุรกรรม: ใช้ LIST เพื่อดูอีเมลที่ใช้ได้ RETR เพื่อดึงอีเมลที่ระบุ DELE เพื่อทำเครื่องหมายอีเมลสำหรับการลบ เป็นต้น
- ขั้นตอนการอัปเดต: ไคลเอนต์ส่งคำสั่ง QUIT และเซิร์ฟเวอร์ดำเนินการลบที่ทำเครื่องหมายไว้
ข้อจำกัดของ POP3
แม้ว่า POP3 จะใช้งานง่าย แต่มีข้อจำกัดที่สำคัญบางประการ:
- ไม่รองรับการดาวน์โหลดอีเมลบางส่วน ต้องดาวน์โหลดอีเมลทั้งหมด
- ไม่เก็บข้อมูลสถานะอีเมล (เช่น อ่าน/ไม่อ่าน) บนเซิร์ฟเวอร์
- ไม่รองรับการค้นหาและกรองอีเมลฝั่งเซิร์ฟเวอร์
- ให้ประสบการณ์การซิงค์ที่ไม่ดีในสถานการณ์หลายอุปกรณ์
IMAP: Internet Message Access Protocol
หลักการพื้นฐานและฟังก์ชัน
IMAP (Internet Message Access Protocol) เป็นโปรโตคอลที่อนุญาตให้ไคลเอนต์อีเมลเข้าถึงอีเมลบนเซิร์ฟเวอร์ระยะไกล เวอร์ชันล่าสุดปัจจุบันคือ IMAP4rev1 (RFC 3501) เมื่อเทียบกับ POP3 IMAP ให้ฟังก์ชันที่หลากหลายมากขึ้น:
- รองรับการจัดการอีเมลบนเซิร์ฟเวอร์ รวมถึงการสร้าง ลบ และเปลี่ยนชื่อโฟลเดอร์อีเมล
- อนุญาตให้ไคลเอนต์อีเมลดาวน์โหลดเฉพาะส่วนหัวอีเมลหรือเนื้อหาบางส่วน ประหยัดแบนด์วิธ
- เก็บข้อมูลสถานะอีเมล (เช่น อ่าน/ไม่อ่าน ตอบกลับ ทำเครื่องหมาย เป็นต้น)
- รองรับการเข้าถึงหลายกล่องจดหมายพร้อมกัน
- ให้ความสามารถการค้นหาฝั่งเซิร์ฟเวอร์
IMAP ใช้พอร์ต TCP 143 สำหรับการสื่อสารข้อความธรรมดาหรือพอร์ต 993 สำหรับการสื่อสารที่เข้ารหัส SSL/TLS (IMAPS)
ข้อดีของ IMAP
ข้อดีหลักของโปรโตคอล IMAP รวมถึง:
- การซิงค์หลายอุปกรณ์: อุปกรณ์ทั้งหมดสามารถเห็นสถานะอีเมลและโครงสร้างการจัดระเบียบที่สอดคล้องกัน
- การประหยัดแบนด์วิธ: สามารถดาวน์โหลดเฉพาะส่วนหัวอีเมลหรือส่วนที่ระบุ เหมาะสำหรับอุปกรณ์มือถือ
- การรองรับการทำงานออฟไลน์: รองรับการจัดระเบียบและจัดการอีเมลขณะออฟไลน์ ซิงค์กับเซิร์ฟเวอร์เมื่อเชื่อมต่อใหม่
- การค้นหาฝั่งเซิร์ฟเวอร์: ดำเนินการค้นหาบนเซิร์ฟเวอร์ ไม่จำเป็นต้องดาวน์โหลดอีเมลทั้งหมด
การไหลการโต้ตอบของ IMAP
เซสชัน IMAP มักรวมถึงขั้นตอนต่อไปนี้:
- การสร้างการเชื่อมต่อ: ไคลเอนต์เชื่อมต่อกับเซิร์ฟเวอร์ IMAP
- การยืนยันตัวตน: ให้ข้อมูลประจำตัวผู้ใช้สำหรับการยืนยันตัวตน
- การเลือกกล่องจดหมาย: เลือกกล่องจดหมายสำหรับการดำเนินการ
- การโต้ตอบคำสั่ง: ดำเนินการต่างๆ เช่น FETCH (ดึงอีเมล) STORE (แก้ไขแฟล็กอีเมล) เป็นต้น
- การปิดเซสชัน: ส่งคำสั่ง LOGOUT เพื่อสิ้นสุดเซสชัน
ส่วนขยายโปรโตคอลอีเมลสมัยใหม่และมาตรฐานความปลอดภัย
MIME: Multipurpose Internet Mail Extensions
MIME (Multipurpose Internet Mail Extensions) แก้ไขข้อจำกัดของ SMTP ยุคแรกที่สามารถส่งข้อความ ASCII เท่านั้น อนุญาตให้:
- รวมข้อความที่ไม่ใช่ ASCII ในอีเมล
- เพิ่มรูปแบบไฟล์แนบต่างๆ (รูปภาพ เสียง วิดีโอ เป็นต้น)
- หลายส่วนเนื้อหาในอีเมลเดียว
MIME กำหนดประเภทเนื้อหาและวิธีการเข้ารหัสผ่านฟิลด์ส่วนหัวอีเมลเช่น Content-Type และ Content-Transfer-Encoding
ส่วนขยายความปลอดภัยและการยืนยันตัวตน
เพื่อเพิ่มความปลอดภัยของอีเมลและป้องกันการละเมิด ส่วนขยายความปลอดภัยต่างๆ ได้ถูกแนะนำ:
- SPF (Sender Policy Framework): ตรวจสอบว่าเซิร์ฟเวอร์ที่ส่งอีเมลได้รับอนุญาตให้ส่งเมลในนามของโดเมนเฉพาะหรือไม่
- DKIM (DomainKeys Identified Mail): ใช้ลายเซ็นการเข้ารหัสเพื่อตรวจสอบความสมบูรณ์ของเนื้อหาอีเมลและความถูกต้องของโดเมนผู้ส่ง
- DMARC (Domain-based Message Authentication, Reporting, and Conformance): รวม SPF และ DKIM ให้กลไกการรายงาน
- S/MIME และ PGP/MIME: ให้ความสามารถการเข้ารหัสอีเมลแบบ end-to-end และลายเซ็นดิจิทัล
- การรวม OAuth 2.0: บริการอีเมลสมัยใหม่ใช้ OAuth สำหรับการยืนยันตัวตน หลีกเลี่ยงความเสี่ยงด้านความปลอดภัยของการยืนยันตัวตนด้วยรหัสผ่านแบบดั้งเดิม
มาตรฐานที่เกิดขึ้นใหม่
โปรโตคอลอีเมลยังคงพัฒนาต่อ:
- JMAP (JSON Meta Application Protocol): ทางเลือกที่ใช้ JSON สมัยใหม่ออกแบบมาเพื่อแทนที่ IMAP และการส่ง SMTP
- AMP for Email: อนุญาตให้ฝังองค์ประกอบโต้ตอบแบบไดนามิกในอีเมล