Simple Mail Transfer Protocol (SMTP) เป็น โปรโตคอล การสื่อสารมาตรฐานสำหรับการส่งข้อความอีเมลในเครือข่ายธุรกิจและอินเทอร์เน็ต SMTP ได้รับการพัฒนาขึ้นในช่วงต้นทศวรรษ 1980 และยังคงเป็นหนึ่งในโปรโตคอลที่นิยมใช้มากที่สุดในโลก
ซอฟต์แวร์อีเมลส่วนใหญ่ใช้ SMTP เพื่อส่งและโพรโทคอลโพรโทคอลโพรโทคอล 3 (POP3) หรืออินเทอร์เน็ตโพรโทคอลการเข้าถึงข้อความ (IMAP) สำหรับรับจดหมาย แม้จะมีอายุไม่มีทางเลือกที่แท้จริงสำหรับ SMTP ที่มีอยู่ในการใช้งานหลัก
SMTP ทำงานอย่างไร
โปรแกรมอีเมลไคลเอ็นต์ที่ทันสมัยทั้งหมดสนับสนุน SMTP การตั้งค่า SMTP ที่เก็บรักษาไว้ในไคลเอ็นต์อีเมลประกอบด้วยที่ อยู่ IP ของเซิร์ฟเวอร์ SMTP (พร้อมกับที่อยู่ของเซิร์ฟเวอร์ POP หรือ IMAP สำหรับรับอีเมล) ไคลเอ็นต์บนเว็บจะฝังที่อยู่ของเซิร์ฟเวอร์ SMTP ภายในคอนฟิกูเรชันในขณะที่ไคลเอ็นต์พีซีมีการตั้งค่า SMTP ที่อนุญาตให้ผู้ใช้ระบุเซิร์ฟเวอร์ของตนเองได้
เซิร์ฟเวอร์ SMTP ที่มีอยู่จริงอาจทุ่มเทเพื่อให้บริการการรับส่งอีเมล แต่มักใช้งานร่วมกับ POP3 และบางครั้งก็เป็นหน้าที่ของ พร็อกซีเซิร์ฟเวอร์
SMTP ทำงานบน TCP / IP และใช้ TCP พอร์ตหมายเลข 25 สำหรับการสื่อสารมาตรฐาน เพื่อปรับปรุง SMTP และช่วยต่อสู้กับสแปมบนอินเทอร์เน็ตกลุ่มมาตรฐานได้ออกแบบพอร์ต TCP 587 เพื่อสนับสนุนโปรโตคอลบางอย่าง บริการอีเมลทางเว็บบางอย่างเช่น Gmail ใช้พอร์ต TCP 465 ที่ไม่เป็นทางการสำหรับ SMTP
คำสั่ง SMTP
มาตรฐาน SMTP กำหนดชุดของคำสั่ง - ชื่อของประเภทเฉพาะของข้อความที่ส่งเมลไคลเอ็นต์ไปยังเซิร์ฟเวอร์จดหมายเมื่อร้องขอข้อมูล คำสั่งที่ใช้บ่อยที่สุดคือ:
- HELO และ EHLO - คำสั่งที่เริ่มต้นเซสชันโปรโตคอลใหม่ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ คำสั่ง EHLO ขอให้พวกเขาตอบสนองกับส่วนขยาย SMTP ที่เป็นทางเลือกที่สนับสนุน
- MAIL - คำสั่งเพื่อเริ่มต้นการส่งข้อความอีเมล
- RCPT - คำสั่งเพื่อให้ที่อยู่อีเมลหนึ่งสำหรับผู้รับข้อความปัจจุบันที่กำลังเตรียม
- DATA - คำสั่งระบุจุดเริ่มต้นของการส่งข้อความอีเมล คำสั่งนี้จะเริ่มต้นข้อความจากการติดตามผลอย่างน้อยหนึ่งข้อความซึ่งแต่ละส่วนมีข้อความ ข้อความล่าสุดในลำดับว่างเปล่า (มีเฉพาะช่วง (.) เป็นอักขระเลิกใช้งาน) เพื่อระบุถึงจุดสิ้นสุดของอีเมล
- RSET - ขณะที่อยู่ระหว่างการส่งอีเมล (หลังจากออกคำสั่ง MAIL) การสิ้นสุดการเชื่อมต่อ SMTP อย่างใดอย่างหนึ่งสามารถรีเซ็ตการเชื่อมต่อหากพบข้อผิดพลาด
- NOOP - ว่างเปล่า ("ไม่มีการดำเนินการ") ข้อความที่ออกแบบมาเป็นชนิดของ ping เพื่อตรวจสอบการตอบสนองของส่วนอื่น ๆ ของเซสชัน
- QUIT - ยุติเซสชันโปรโตคอล
ผู้รับของคำสั่งเหล่านี้ตอบกลับด้วยหมายเลขรหัสความสำเร็จหรือความล้มเหลว
ปัญหาเกี่ยวกับ SMTP
SMTP ไม่มีคุณลักษณะด้านความปลอดภัยในตัว ผู้ส่งอีเมลขยะทางอินเทอร์เน็ตได้เปิดใช้งานเพื่อใช้ประโยชน์จาก SNMP ในอดีตโดยการสร้างอีเมลขยะจำนวนมากและส่งพวกเขาผ่านทางเซิร์ฟเวอร์ SMTP ที่เปิดอยู่ การป้องกันสแปมมีการปรับปรุงตลอดหลายปีที่ผ่านมา แต่ไม่สามารถป้องกันได้ นอกจากนี้ SMTP ไม่ได้ป้องกันไม่ให้ผู้ส่งอีเมลขยะตั้งค่า (ผ่านคำสั่ง MAIL) ที่อยู่อีเมล "From:" ปลอม