Tag Archive: อีเมล์


Simple Mail Transfer Protocol (SMTP) เป็นโพรโทคอลหรือกฏเกณฑ์ที่ใช้ในการส่งอีเมล์ โดยหากใช้ในอินเทอร์เน็ตจะทำงานอยู่บนพอร์ต TCP 25 และจะใช้ร่วมกับ DNS MX record เพื่อค้นหาเมล์เกตเวย์ของปลายทาง แต่หากใช้ส่งกันระหว่างเซิร์ฟเวอร์ภายในองค์กร อาจเปลี่ยนไปใช้พอร์ตอื่นนอกเหนือจาก TCP 25 ก็ได้เช่นกัน

เมล์เซิร์ฟเวอร์ที่กันในปัจจุบันสนับสนุนโพรโทคอล SMTP กันหมด แม้แต่ของซื้อของขายอย่าง Microsoft Exchange และ IBM Lotus Domino ซึ่งเวลาคุยกันภายในองค์กรจะใช้โพรโทคอลของตัวเอง แต่ถ้าต้องวิ่งออกอินเทอร์เน็ตก็ใช้ SMTP ซึ่งเป็นมาตรฐานกลางได้เหมือนกับค่ายโอเพ่นซอร์ส

เนื่องจากอายุอานามของ SMTP พอๆ กับอินเทอร์เน็ต ซึ่งเลยหลักสี่มานานแล้ว เลยทำให้ SMTP มีปัญหาสำคัญคือเรื่องความปลอดภัยที่ไม่ค่อยจะสู้ดีนัก เพราะข้อมูลที่ส่งกันด้วย SMTP จะเป็นตัวอักษรล้วน (plain text) ใครส่งจดหมายรักถึงใคร คนที่อยู่กลางทางอ่านได้หมด ดังนั้นจึงมีการปรับปรุงเป็น ESMTP โดยตัว E นั้นก็คือ Extended หรือ Enhanced หมายถึง SMTP เวอร์ชั่นปรับปรุงนั่นเอง โดยความสามารถที่เพิ่มเด่นๆ ก็จะเป็นการพิสูจน์ตนก่อนส่ง (user authentication) และการเข้ารหัสลับระหว่างที่ส่ง (SMTP over TLS)

หากใครจะลองส่งเมล์จาก telnet โดยใช้ SMTP ก็สามารถลองทำตามได้นะครับ

Telnet mailgateway.xyz.com 25

รอเซิร์ฟเวอร์ปลายตอบรับ จากนั้นก็ลองทำตามครับ S: หมายถึงเซิร์ฟเวอร์ปลายทาง C: หมายถึงไคลเอนท์ของเรา

S: 220 mailgateway.xyz.com
C: HELO mypc.abc.com
S: 250 Hello mypc.abc.com
C: MAIL FROM: <modplusplus@abc.com>
S: 250 Ok
C: RCPT TO: <somchai@xyz.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: From: "Mod++" <somchai@xyz.com>
C: To: "Somchai Saetung" <somchai@xyz.com>
C: Subject: Test
C:
C: Hello World
C: .
S: 250 Ok: queued as 123
C: QUIT
S: 221 Bye

เพียงเท่านี้เราก็สามารถส่งเมล์ได้โดยไม่ต้องง้อ Outlook แล้วครับ 😀

Advertisement

สมมุติว่าเราเป็นพนักงานของบริษัท abc จะส่งเมล์ไปยังบริษัท xyz การทำงานของระบบอีเมล์จะเริ่มตั้งแต่
1) เราเปิดโปรแกรม Outlook เขียนเมล์ถึง somchai@xyz.co.th โปรแกรมจะส่งเมล์ไปยังเมล์เซิร์ฟเวอร์ของเราก่อน
2) เมล์เซิร์ฟเวอร์ของเราจะส่งอีเมล์ไปให้เมล์เกตเวย์เพื่อตรวจสอบหาไวรัสและสแปม
3) เมล์เกตเวย์จะวิ่งไปถาม DNS server ว่าเมล์เกตเวย์ของผู้รับซึ่งก็คือ xyz.co.th อยู่ที่ไหน
4) เมล์เกตเวย์ของเราจะส่งอีเมล์ไปยังเมล์เกตเวย์ของผู้รับซึ่งก็คือ xyz.co.th
5) เมล์เกตเวย์ของผู้รับจะตรวจสอบไวรัสและสแปม ถ้าผ่านก็จะส่งต่อให้เมล์เซิร์ฟเวอร์ของผู้รับ
6) เพื่อผู้รับเปิดโปรแกรมอีเมล์ เมล์จะถูกโหลดจากเมล์เซิร์ฟเวอร์มาที่เครื่องไคลเอนท์และแสดงผล

Basic Email Flow Diagram

โอกาสหน้าจะมาพูดถึงแล้วถ้าเป็นฟรีอีเมล์อย่าง hotmail หรือ gmail จะต่างจากอีเมล์ของบริษัททั่วไปอย่างไร แล้วเจอกันครับ 😀