อิเล็คทรอนิกส์เมล์ในอินเทอร์เน็ต (Electronic Mail in the Internet)

Author admin acount on January 20, 2011 | Print | Bookmark
Share |
อิเล็คทรอนิกส์เมล์เป็นโปรแกรมประยุกต์บนอินเทอร์เน็ตที่มีชื่อเสียงมากตัวหนึ่ง ซึ่งจะเหมือนกับจดหมายทั่วไปที่ผู้อ่านสามารถส่งและรับจดหมายได้ตามความสะดวก แต่ Email ต่างจากจดหมาย ทั่วไปตรงที่ว่ารวดเร็ว ไม่แพงและง่ายกว่าจดหมายทั่วไปยิ่งไปกว่านั้น Email สมัยใหม่ยังสามารถรวมlink, เอกสาร HTML, รูปภาพ, เสียง หรือแม้กระทั่งวีดีโอได้ ก่อนอื่นมาดูภาพกว้างๆ ของระบบการสง่ Email ในอินเทอร์เน็ตกันก่อน
จากรูปที่ 1 แสดงระบบการส่ง Email ในอินเตอร์เน็ตระบบจะประกอบด้วย 3 ส่วนหลักคือ user agents, mail servers และ Simple Mail Transfer Protocol (SMTP) โดย User agent ซึ่งบางครั้งเรียกว่า mail reader เป็น program ที่ user ทําการอ่านและตอบจดหมายได้ ส่วน Mail server จะใช่้ในการเก็บและจัดการกับ mail box ของ user แต่ละคนโดย mailbox ทําหน่้าที่ในจัดการและเก็บรักษา message ที่ส่งมาถึงผู่้รับ สุดท้ายก็คือ Simple Mail Transfer Protocol (SMTP) ซึ่งเป็น protocol ใน Application layer สำหรับ อินเทอร์เน็ตน้ัน Email จะใช้บริการของ TCP ในการ Transfer mail จาก mail server ของผู่้ส่งไปยัง mail server ของผู่้รับซึ่ง mail server จะทำการสง่ mail ไปยัง mail server อื่น จะทําหน้าที่เป็น SMTP client และเมื่อ mail server ได้รับ mail จาก mail server อื่นก็จะทําหน้าที่เป็น SMTP server


รูปที่ 1 :  ภาพรวมของระบบ Email บน Internet

1. SMTP
เป็นหัวใจสำคัญของการใช้งาน Email โดยจะทำหน้าที่ส่ง message จาก mail server ฝั่งส่งไปยัง mail server ฝั่งรับ โดยขั้นแรก SMTP client จะทำการสร้าง TCP connection บน port 25 กับ SMTP server หลังจากนั้น SMTP client จะทำการบอก email address ของผู้ส่งและผู้รับ เมื่อ SMTP client และ server แนะนำตัวเองกันเสร็จแล้ว SMTP client จะทำการส่ง message ไป SMTP server โดย SMTP จะใช้บริการของ TCP เพื่อส่ง message ไปยัง server และถ้ามีการส่ง message อื่น ๆ ไปยัง server อีก client ก็จะทำกระบวนการนี้ซ้ำใน TCP connection เดียวกันนี้ แต่ถ้าไม่มีการส่ง message อื่น มันจะสั่งให้ TCP ปิด connection ลักษณะการส่ง Email แสดงได้ดัง รูปที่ 2


รูปที่ 2 : การทำงานของ SMTP 

จากตัวอย่างข้างล่าง สมมุติว่า ชื่อ Host ของ client คือ deemoc.com และ ชื่อ host ของ server คือ google.com
S: 220 gmail.com
C: HELO deemoc.com
S: 250 Hello deemoc.com, pleased to meet you
C: MAIL FROM : alice@deemoc.com
S: 250 alice@deemoc.com...Sender OK
C: RCPT TP: bob@gmail.com
S: 250 bob@gmail.com ... Recipient OK
C: DATA
S: 254 Enter mail, end with "." on a line by itself
C: Do you like Email Marketing?
C: How about SMS signup?
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 gmail.com closing connection

จากตัวอย่าง Client (C:) ส่ง message (“Do you like Email Marketing? How about SMS signup?”) จาก Mail server deemoc.com ไปยัง mail server (S:) google.com client จะส่งคำสั่ง 5 คำสั่งดังนี้ HELLO, MAIL FROM, RCPT TO, DATA และ QUIT และ server จะตอบกลับแต่ละคำสั่งด้วย reply code และคำอธิบาย SMTP นั้นใช้ persistent connection โดยถ้า mail server ฝั่งผู้ส่งต้องการส่ง message หลาย message ไปยัง mail server ฝั่งผู้รับเดียวกัน จะสามารถส่ง message ทั้งหมดบน TCP connection เดียวกันได้ สำหรับการส่งแต่ละ message นั้น client จะเริ่มต้นด้วยการส่ง HELO deemoc.com และจบด้วย QUIT หลัง
จากส่ง message ทั้งหมดแล้ว

2 Mail Message Format and MIME


รูปที่ 3 : Email Protocols และ กระบวนการสื่อสาร

ส่วน header ของ mail ประกอบด้วยลำดับของ header line โดย header line และส่วน body ของ message แยกกันด้วยบรรทัดว่าง โดยทุก header ต้องมี From : header line, TO : header line และ Subject : header line message ที่จะส่งไปใน TCP connection ประกอบด้วย ส่วนที่เป็น header ของ message บรรทัดว่าง และ message body โดยบรรทัดสุดท้ายจะเป็นจุด 1 จุด เพื่อบอกว่าจบ message แล้ว THE MIME Extension For Non-ASCII Data เนื่องจาก header ของ message ที่กำหนดอยู่ใน RFC822 สำหรับส่งข้อมูลแบบ ASCII นั้นไม่สามารถทำการส่งข้อมูลประเภท multimedia เช่น รูปภาพ audio และ video ได้ ทำให้ต้องทำการเพิ่มส่วน header ของ mail ประกอบด้วยลำดับของ header line โดย header line และส่วน body ของ message แยกกันด้วยบรรทัดว่าง โดยทุก header ต้องมี From : header line, TO : header line และ Subject : header line message ที่จะส่งไปใน TCP connection ประกอบด้วย ส่วนที่เป็น header ของ message บรรทัดว่าง และ message body โดยบรรทัดสุดท้ายจะเป็นจุด 1 จุด เพื่อบอกว่าจบ message แล้ว

THE MIME Extension For Non-ASCII Data
เนื่องจาก header ของ message ที่กำหนดอยู่ใน RFC822 สำหรับส่งข้อมูลแบบ ASCII นั้นไม่สามารถทำการส่งข้อมูลประเภท multimedia เช่น รูปภาพ audio และ video ได้ ทำให้ต้องทำการเพิ่ม header พิเศษขึ้นมา เรียกว่า MIME (Multimedia mail extension) เพื่อส่งข้อมูลประเภท multimedia โดยต้องเพิ่มบรรทัดใน header เพื่อประกาศ MIME content type ประเภทของ MIME type มีดังนี้
- Text ใช้สำหรับชี้ให้ user agent ฝั่งผู้รับรู้ว่า body message ประกอบด้วยข้อมูลแบบ text เช่น text/plain
- Image ใช้สำหรับชี้ให้ user agent ฝั่งผู้รับรู้ว่า body message ประกอบด้วยรูปภาพเชน่ image/gif และ image/jpeg เมื่อ user agent ฝั่งผู้รับได้รับ มันจะรู้ว่าจะต้องถอดรหัส รูปภาพประเภท Gif และแสดงออกมา
- Audio
- Video ตัวอย่าง subtype เช่น mpeg และ quicktime
- Application

3 Mail Access Protocols
Protocol ที่ใช้ในการ access mail ที่นิยมใช้กันมีอยู่ 2 ประเภท ได้แก่ POP3 (Post Office Protocol– Version 3) และ IMAP (Internet Mail Access Protocol) โดย SMTP เป็น protocol ที่ใช้สำหรับ transfer mail จาก user agent ฝั่งผู้รับไปยัง mail server ฝั่งผู้รับ ส่วน POP3 หรือ IMAP จะใช้สำหรับ transfer mail จาก mail server ฝั่งผู้รับไปยัง user agent ฝั่งผู้รับ ดังรูปที่ 3

POP3
POP3 เป็น protocol ที่ใช้สำหรับ access mail อย่างง่าย แต่มีการทำงานที่มีข้อจำกัด โดยการทำงานจะเริ่มจาก user agent ทำการเปิด TCP connection ไปยัง mail server โดยใช้ port 110 เมื่อ TCP connection ถูกสร้างขึ้น POP3 จะมีขั้นตอนการทำงาน 3 ขั้นตอน ด้วยกันได้แก่ authorization, transaction และ update ในขั้นตอนแรก user agent จะส่ง username และ password เพื่อทำการ authenticate ในขั้น ตอนที่ 2 user agent จะทาํ การดงึ message และสามารถเลือก message ทจี่ ะทำการลบได้ ส่วนในขั้นตอนที่ 3 จะเกิดขึ้นหลังจาก client ส่งคำสั่ง quit เพื่อจบ POP session ในเวลานี้ mail server จะลบ message ที่ได้ทำการเลือกไว้แล้วด้วย ในการทำงานของ POP3 นั้น user agent จะทำการส่งคำสั่งไป และทาง server จะตอบกลับแต่ละคำสั่งนั้นด้วย +OK เพื่อยืนยันว่าได้รัข้อมูลจาก client เป็นที่เรียบร้อยแล้ว หรือ –ERR เพื่อบอกว่าคำสั่งก่อนหน้านี้มีข้อผิดพลาดเกิดขึ้น

ตัวอย่างคำสั่งในขั้นตอน authorization

telnet mailServer 110
+OK POP3 server ready
user alice 
+OK
pass Email Marketing
_OK user successfully logged on

ตัวอย่างคำสั่งในขั้นตอน transaction และ update

C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: blah blah..
S: ..............
S: ..........blah
S: .
C: dele 1
S: blah blah..
S: ..............
S: ..........blah
S: .
S: dele 2
S: quit
S: +OK POP2 server signing off

หลังจากที่มีการส่งคำสั่ง Quit แล้ว POP3 server จะทำการอัพเดต mailbox โดยการทำการลบ mail ที่เลือกเอาไว้แล้วนั้น จะเห็นว่าการทำงานแบบนี้เป็นลักษณะของการทำงานแบบ Download-and-delete mode ซึ่งก็คือ เมื่อทำการ download mail มาแล้วจะทำการลบ mail นั้นออกจาก mailbox ทันที ซึ่งปัญหาที่ตามมาจากการทำงานของ mode นี้ก็อย่างเช่น เมื่อ user ทำการอ่าน mail จากที่บ้านแล้ว จะไม่สามารถทำการอ่าน mail เดิมนั้นได้อีกในที่อื่นๆ นอกจากที่บ้าน แต่ถ้ามีการทำงานที่เป็น Download-and-keep mode นั้น จะทำให้สามารถอ่าน mail นั้นๆ ที่ๆไหนก็ได้ เพราะไม่มีการลบ mail นั้นออกไปจาก mailbox

IMAP
เมื่อผู้รับทำการ Download message มายัง เครื่องของตนเองโดยใช้ POP3 ผู้รับสามารถจัดการกับ message ที่เครื่องของตนเองเช่น สร้าง folder ที่ใช้เก็บ, ลบ message และเคลื่อนย้าย message ระหว่าง folder ได้ แต่ผู้รับไม่สามารถทำการจัดการในลักษณะที่กล่าวมานั้นได้ที่ remote server ดังนั้นเพื่อจัดการกับปัญหาตรงนี้ IMAP (Internet Mail Access Protocol) จึงถูกสร้างขึ้นมาซึ่งมีคุณสมบัติต่างๆ มากกว่า POP3 แต่ก็มีความซับซ้อนมากกว่า POP3 ด้วย IMAP ถูกออกแบบมาเพื่ออนุญาตให้ผู้ใช้สามารถจัดการกับ remote mailbox ได้ โดยในการทำงานนั้น IMAP server จะต้องทำการเก็บข้อมูลสถานะของ folder ของ user แต่ละคนไว้ ซึ่งจะตรงกันข้ามกับ POP3 คือจะไม่เก็บสถานะเกี่ยวกับ user เลย

Was this article helpful?

Yes No

Category: Advance Information

Last updated on February 15, 2011 with 518 views

0 User Comments

There are no comments yet...Kick things off by filling out the form below.

Leave a Comment

DeeMoc หวังว่าคุณคงได้รับประโยชน์จาก Blog ของเรา
ซึ่งหากคุณสนใจทดลองใช้บริการของเรา จะรอช้าอยู่ใย

 

DeeMocDIY Newsletter

สมัครสมาชิกเพื่อรับข่าวสารจาก DeemocDIY
และเทคนิค Top 10 Email Marketing Tips ฟรี!

Email Address: