Header ของ e-mail ม ส วนประกอบและความหมายอะไรบ าง

คำสั่ง POP3 ข้างต้นเป็นเพียงคำสั่งพื้นฐานทั่วไปที่ใช้งานอย่างง่ายเท่านั้นคำสั่งข้างล่างนี้จะอธิบายเกี่ยวกับการอนุญาตให้ POP3 Client มีอิสระในการจัดการข้อความขณะที่ใช้ POP3 Server ทั่ว ๆ ไป คำสั่งเหล่านี้จะสนับสนุนการนำไปใช้จะถูกนำไปใช้ในตำแหน่งของ [[drop]] Listing และ Scan Listing ที่มีการพัฒนาเพิ่มขึ้น ซึ่งจะถูกใส่ลงไปในส่วนของ POP3 Client ไม่ใช่ส่วนของ POP3 Server เช่น

Arguments:

ต้องมีหมายเลข Message ซึ่งไม่ใช่ข้อความที่ถูก mark ให้ทำการลบและมีหมายเลข Non-negative

Restrictions:

ใช้เฉพาะในช่วง Transections State เท่านั้น

Discussions:

ถ้า POP3 แสดงสถานะเป็นเครื่องหมาย + และมีการตอบรับเป็นแบบ Multiline หลังจากขึ้นว่า +OK แล้ว POP3 Server ก็จะส่ง Header ของข้อความและช่องว่างที่แยก Header ออกจาก Body ซึ่งหมายเลขบรรทัดจะเป็นตัวบ่งชี้ Body ของ Message และมีการใส่ Byte Stuff บอกจุดสิ้นสุดของตัวอักษร

หมายเหตุ

ถ้าจำนวนบรรทัดที่มีการร้องขอจาก POP3 Client มีค่ามากกว่าจำนวนบรรทัดในส่วนของ Body แล้ว POP3 Server ก็จะทำการส่ง message ทั้งหมดไปให้

Possible Responses:

+OK top of message follows -ERR no such message

Examples:

C: TOP 1 10 S: +OK S: (the POP3 server sends the headers o message, a blank line, and the first 10 lines of the body of the message) S: . ... C: TOP 100 3 S: -ERR no such message

UIDL (msg)

Arguments:

หมายเลขข้อความ (สามารถเลือกหมายเลขได้) ถ้ามีการกำหนดหมายเลข message จะไม่ใช่หมายเลขที่ถูก mark ว่าให้ลบ

Restrictions:

ใช้เฉพาะในช่วง Transactions State

Discussions:

ถ้ามีการกำหนด Argument และ POP3 Server มีการแสดงสถานะเป็นเครื่องหมาย + พร้อมด้วยบรรทัดที่บรรจุข้อมูลสำหรับ ข้อความนั้นบรรทัดนี้จะเรียกว่า "unique-id listing" ถ้าไม่มี Argument ที่กำหนดให้และ POP3 Server ไม่แสดงสถานะเป็นเครื่องหมาย + ซึ่งการตอบรับก็จะเป็น multiline

หลังจากขึ้น + OK ในแต่ละ Message ใน mail[[drop]] POP3 Server ก็จะตอบรับด้วยบรรทัดที่บรรจุข้อมูลสำหรับข้อความซึ่งบรรทัด นี้เรียกว่า "unique-id listing" POP3 Server ต้องใช้รูปแบบสำหรับ unique-id listing ซึ่ง unique-id listing จะประกอบด้วย หมายเลขข้อความตามด้วยช่องว่างและ unique-id listing ซึ่ง message จะไม่มีข้อมูลตาม unique-id ของ unique-id listing

unique-id ของ message เป็นตัวพิจารณา String ซึ่งประกอบด้วยตัวอักษรในช่วง 0x21-0x7e และระบุข้อความภายใน mail[[drop]] ที่ต่างกันไปและจะข้ามไป session ต่อไป Server จะไม่นำเอา unique-id ที่ให้ใน mail[[drop]] มาใช้อีกจนกว่าจะมีการยกเลิก หมายเหตุ message ที่ถูก mark ว่าจะ [[delete]]

APOP name digest

Arguments

:ต้องมีการใช้ String เพื่อระบุ mailbox และมี MD5 เป็นตัวแยก String

Restrictions

: ใช้ในช่วง AUtolization State หลังจากมีการตอบรับแบบ POP3

Discussions

: โดยปกติแต่ละ POP3 Session จะเริ่มต้นด้วยการใส่ User/Password ผลก็คือ ใน Server หรือ Password ของ User id ที่แน่นอนจะถูกส่งไปในแต่ละช่วงที่ใช้ POP3 ซึ่งไม่ขอแนะนำให้ใช้เนื่องจากมีอัตราความเสี่ยงสูง อย่างไรก็ตาม การใช้ POP3 Client หลายๆเครื่องในการติดต่อกับ POP3 Server ก็เป็นกฎมาตรฐานในการเช็ค mail ใหม่ระหว่างที่เป็นช่วงเริ่มต้นจะใช้เวลาประมาณ 5 นาที ดังนั้นความเสี่ยงในการจับ Password ก็จะเพิ่มขึ้นวิธีหนึ่งที่เชื่อถือได้จะต้องมีการจัดหาที่มาที่เชื่อถือได้และมีระบบ การป้องกันแต่ไม่ได้เกี่ยวกับการส่ง Password ซึ่งคำสั่ง APOP ก็จะมีหน้าที่นี้

POP3 Server ซึ่งใช้คำสั่ง APOP ซึ่งมีการใช้ Syntax ของ Timestamp โต้ตอบเรียกว่า msg-id และต้องและจะต้องแตกต่างกัน ตัวอย่างเช่น ในการใช้บน UNIX จะแยก UNIX Process ที่ถูกใช้ในแต่ละ Instance ใน POP3 Server Syntax ของ Timestamp มีดังนี้

(process-ID.clock@hostname) Process-id เป็นค่าเลขฐาน 10 ของ PID Process Clock เป็นค่าเลขฐาน 10 ของระบบ Clock Hostname เป็น Domain name ไปยัง Host ที่ POP3 Server Run อยู่ POP3 Client จะทำ Note ใน Timestamp นี้ เมื่อใช้คำสั่ง APOP แล้ว name ซึ่งเป็น Parameter ของคำสั่ง USER Digest Parameter ซึ่งถูกคำนวณโดยการใช้ MD5 Algorithm String จะประกอบ Timestamp ตามด้วย Share secret ซึ่ง Share secret จะเป็น String ที่รู้จักเฉพาะใน POP3 Server และ Client ควรมีการดูแลเพื่อป้องกันความปลอดภัยของข้อมูลที่เป็นความลับเพราะข้อมูลนี้จะเข้าไปใน Entity ใดก็ได้โดยใช้ชื่อ User name คนใดก็ได้ Digest Parameter เป็นเลขฐาน 16 และส่งข้อมูลในรูปเลขฐาน 16 และใช้รหัส ASCII

เมื่อ POP3 ได้รับคำสั่ง APOP มันจะตรวจสอบความถูกต้องที่ Digest Provided ถ้า Digest ถูกต้อง POP3 Server ก็จะแสดงเครื่องหมาย + และ POP3 Session ก็จะเข้าสู่ช่วง Transaction State ดังนั้นถ้าเป็นเครื่องหมาย - ก็แสดงว่าอยู่ในช่วง Autherization state หมายเหตุ

ความยาวของ Share secret ที่เพิ่มขึ้นยากที่จะลดลงมาเช่น Share secret ควรจะเป็น Long String (ควรมีความยาวมากกว่า 8 character)

Possible Responses:

+OK mail[[drop]] locked and ready -ERR permission denied

Examples:

S: +OK POP3 server ready <[email protected]> C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK mail[[drop]] has 1 message (369 octets)

( สรุปคำสั่งในโปรโตคอล POP3) POP3 Command Summary

Minimal POP3 Commands: USER name valid in the AUTHORIZATION state PASS string QUIT STAT valid in the TRANSACTION state LIST [msg] RETR msg DELE msg NOOP RSET QUIT -ERR valid in the [[update]] state

Optional POP3 Commands: APOP name digest valid in the AUTHORIZATION state TOP msg n valid in the TRANSACTION state UIDL [msg]

POP3 Replies: +OK -ERR

Example POP3 Session

S: (wait for connection on TCP port 110 ) C: (open connection) S: +OK POP3 server ready <[email protected]> C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK mrose's mail[[drop]] has 2 messages (320 octets) C: STAT S: +OK 2 320 C: LIST S: +OK 2 messages (320 octets) S: 1 120 S: 2 200 S: . C: RETR 1 S: +OK 120 octets S: (the POP3 server sends message 1) S: . C: DELE 1 S: +OK message 1 [[delete]]d C: RETR 2 S: +OK 200 octets S: (the POP3 server sends message 2) S: . C: DELE 2 S: +OK message 2 [[delete]]d C: QUIT S: +OK dewey POP3 server signing off (mail[[drop]] empty) C: (close connection) S: (wait for next connection)

สรุปรายละเอียดของคำสั่งต่างๆใน POP3 คำสั่ง พารามิเตอร ์ สถานะ รายละเอียด USER ชื่อผู้ใช้งาน ขออนุมัติ แจ้งชื่อผู้ใช้และระบุ Mailbox ที่จะใช้ PASS Password ขออนุมัติ เป็นคำสั่งที่ใช้ระบุ Password โดยจะใช้ต่อจากคำสั่ง USER APOP ชื่อ, Password ขออนุมัติ ทำหน้าที่เหมือนคำสั่ง USER และ PASS รวมกันแต่ข้อมูลจะถูกเข้ารหัสก่อนส่งไป STAT ไม่ระบ ุ รับส่งรายการ เป็นคำสั่งตรวจสอบสภาพเซิร์ฟเวอร์,ขนาดของอีเมล์ที่จะดาวน์โหลด UIDL หมายเลขข้อความ รับส่งรายการ ใช้ตรวจสอบหมายเลขประจำของอีเมล์ LIST หมายเลขข้อความ รับส่งรายการ ใช้ตรวจสอบหมายเลขของอีเมล์ และขนาดของอีเมล์ RETR ข้อความ รับส่งรายการ เป็นคำสั่งทีใช้ส่งข้อมูลของอีเมล์ DELE ข้อความ รับส่งรายการ เป็นการระบุเครื่องหมายการลบลงในอีเมล์ที่จะลบ และอีเมล์เหล่านั้นจะถูกลบออกจากเมล์บ็อกซ์เมื่อใช้คำสั่ง QUIT เมื่อสิ้นสุดการทำงาน RSET ไม่ระบุ รับส่งรายการ คำสั่งนี้จะยกเลิกเครื่องหมายการลบอีเมล์ ที่เคยกำหนดไว้ด้วยคำสั่ง DELE ออกไปทุก ๆ อีเมล์ TOP หมายเลขข้อความ,จำนวนบรรทัด รับส่งรายการ เซิร์ฟเวอร์จะส่งข้อมูลย้อนกลับไปเท่ากับจำนวนบรรทัดที่ระบุ NOOP ไม่ระบ ุ รับส่งรายการ เป็นคำสั่ง No Operation QUIT ไม่ระบุ รับส่งรายการและขออนุมัต ิ ใช้เมื่อจบการทำงาน หากมีอีเมล์ซึ่งทำเครื่องหมายว่าจะลบไว้ อีเมล์เหล่านั้นจะถูกลบจากเมล์บ็อกซ์ในขั้นตอนนี้ ตารางแสดงรายละเอียดในคำสั่งต่าง ๆ ของ SMTP ที่ใช้งานอยู่ คำสั่ง รายละเอียด HELLO ใช้เมื่อไคลเอนต์ของอีเมล์ต้องการเริ่มติดต่อกับเซิร์ฟเวอร์ MAIL เริ่มเข้าสู่สถานะการส่งอีเมล์ RCPT เป็นคำสั่งเพื่อระบุอีเมล์ที่จะส่งทีละฉบับ โดยเป็นคำสั่งที่ใช้ต่อจาก MAIL DATA จะเป็นคำสั่งที่ใช้ต่อจาก RCPT เพื่อส่งข้อมูลของอีเมล์ SEND ทำหน้าที่เหมือนคำสั่ง DATA แต่ไม่ค่อยมีผู้ใช้งาน SOML ทำหน้าที่เหมือนคำสั่ง DATA แต่ไม่ค่อยมีผู้ใช้งาน SAML ทำหน้าที่เหมือนคำสั่ง DATA แต่ไม่ค่อยมีผู้ใช้งาน VRFY เป็นคำสั่งที่ใช้เพื่อตรวจสอบความถูกต้องของชื่อและเมล์บ็อกซ์ EXPN เป็นคำสั่งเพื่อตรวจสอบรายละเอียดของลิสต์รายชื่อ HELP ใช้ตรวจสอบคำสั่งที่สามารถใช้งานได้กับเซิร์ฟเวอร์ NOOP เป็นคำสั่ง No Operation เมื่อเซิร์ฟเวอร์ได้รับคำสั่งนี้จะตอบ OK กลับมา QUIT สิ้นสุดการติดต่อ RSET ยกเลิกการส่งข้อมูลในขณะนี้ TURN เป็นคำสั่งที่สลับหน้าที่ของผู้ส่งข้อมูลมาทำหน้าที่รับข้อมูลแทน

SMTP Reply Codes ( ตัวเลขแสดงสถานะของคำสั่ง ) 211 [[sys]]tem status, or [[sys]]tem help reply 214 Help message 220 Service ready 221 Service closing transmission channel 250 Requested mail action okay ,completed 251 User not local ; will forward to 354 Start mail input ; end with . 421 Service not available, closing transmission channel 450 Request mail action not taken : mailbox unavailable 451 Request action aborted : local error in processing 452 Requested action not taken : insufficient [[sys]]tem storage 500 Syntax error in parameters or arguments 501 Syntax error in parameters or arguments 502 Command not implemented 503 Bad sequence of commands 504 Command parameter not implemented 550 Requested action not taken : mailbox unavailable 551 User not local ; please try 552 Requested mail action aborted : exceeded storage allocation 553 Requested action not taken : mailbox name not allowed 554 Transaction failed

อีกโปรโตคอลหนึ่งที่ใช้ส่งอีเมล์ ซึ่งมีประสิทธิภาพและสามารถใช้งานได้หลากหลายแบบมากกว่า POP คือโปรโตคอล IMAP ซึ่งถูกพัฒนาโดยมหาวิทยาลัย Standford เมื่อปี ค.ศ. 1986 IMAP ได้รับการพัฒนามาหลายเวอร์ชัน จนถึงปัจจุบันเป็นเวอร์ชัน 4 หรือเรียกกันทั่วไปว่า IMAP 4 จุดเด่นของโปรโตคอล IMAP ก็คือ ผู้ใช้สามารถเลือกดาวน์โหลดเฉพาะอีเมล์ที่ต้องการได้ โดยไม่จำเป็นต้องโหลดมาทั้งหมดเหมือนโปรโตคอล POP3 นอกจากนี้ IMAP ยังสามารถรองรับการทำงานได้ทั้งแบบ Offline, Online และแบบ Disconnected อีกด้วย ดังนั้นประโยชน์ที่ได้จาก IMAP ก็คือ หากผู้ใช้มีอีเมล์แอดเดรสเพียงชื่อเดียว แต่มีเครื่องที่ใช้งานอยู่หลายเครื่องก็จะสามารถเลือกดาวน์โหลดเฉพาะอีเมล์ที่ต้องการมาเก็บไว้ที่เครื่องใดก็ได้ แต่ถ้าเป็น POP3 การดาวน์โหลดจะต้องทำพร้อมกันหมดทุกอีเมล์ ดังนั้น IMAP จึงเป็นโปรโตคอลที่สามารถทำงานกับสายสื่อสารที่มีความเร็วต่ำได้เป็นอย่างดี การทำงานของ IMAP นี้เหมือนกับโปรโตคอลอื่น ๆ โดยทำงานร่วมกับ TCP ใช้พอร์ตหมายเลข 143 และแบ่งเป็นสถานะต่าง ๆ ออกเป็น 4 สถานะ โดยในแต่ละสถานะมีวัตถุประสงค์และคำสั่งที่ใช้งานแตกต่างกัน มีรายละเอียดต่าง ๆ ดังนี้

1. สถานะก่อนอนุมัติ (Non-authenticated State) เป็นสถานะที่กำลังรอให้ไคลเอนต์ติดต่อเข้ามาเพื่อขออนุมัติใช้ ดังนั้นในด้านไคล์เอนต์จะต้องแจ้งชื่อ Login ของ Mail Server นั้นและ password ด้วยคำสั่ง LOGIN หรือ AUTHENTICATE ก่อนจึงจะเริ่มใช้งานได้ จากนั้นจึงเปลี่ยนไปเป็นสถานะได้รับการอนุมัติ

2. สถานะได้รับการอนุมัติ (Authenticated State) เป็นสถานะที่สามารถใช้คำสั่งต่าง ๆ ที่เกี่ยวกับการเลือกและใช้งานเมล์บอกซ์ เช่น คำสั่ง [[select]] เพื่อเลือกเมล์บอกซ์ หรือคำสั่ง [[create]] เพื่อสร้างเมล์บอกซ์ เป็นต้น ในการเลือกเมล์บอกซ์ด้วยคำสั่ง [[select]] หรือ EXAMINE นี้จะเปลี่ยนไปเป็นสถานะการเลือกเมล์บอกซ์

3. สถานะการเลือกเมล์บอกซ์ ([[select]]ed State) เป็นสถานะที่จะเข้าใช้งานอีเมล์ในแต่ละเมล์บอกซ์ หลังจากที่เลือกเมล์บอกซ์ไว้แล้วในสถานะก่อนหน้านี้

4. สถานะเลิกใช้งาน (Logout State) เมื่อต้องการเลิกใช้งาน หรือสิ้นสุดการทำงานของ IMAP จะเข้าสู่สถานะเลิกใช้งานโดยใช้คำสั่ง LOGOUT

จากสถานะทั้ง 4 นี้ไม่จำเป็นต้องทำงานเรียงต่อกันเสมอไปบางครั้งอาจจะมีการทำงาน ข้ามจากสถานะหนึ่งไปยังอีกสถานะหนึ่งได้ ตัวอย่างเช่น เมื่อเข้าสู่สถานะที่ได้รับการอนุมัติ (Authenticate State) และลบอีเมล์ที่ไม่ต้องการใช้งานทิ้งไปด้วยคำสั่ง [[delete]] แล้วและไม่ต้องการทำงานอื่น ๆ ต่อก็สามารถใช้คำสั่ง LOGOUT เพื่อเปลี่ยนสถานะเป็นเลิกการใช้งาน (Logout State) ได้โดยไม่จำเป็นต้องเข้าสู่สถานะการเลือกเมล์บอกซ์ ([[select]]ed State) ก่อน ซึ่งจะเรียกว่า Untagged response หรือ Asterisk tag (*) ส่วนคำตอบของเซิร์ฟเวอร์ที่เป็นผลการทำงานตามคำสั่งต่าง ๆ ของไคลเอนต์นั้น จะประกอบด้วยคำสั่งทั้งหมด 5 แบบ คือ

OK แสดงว่าผลการทำงานของคำสั่งนั้น ๆสำเร็จและเรียบร้อยแล้ว NO แสดงว่าการทำงานตามคำสั่งนั้นไม่สำเร็จ BAD แสดงว่าคำสั่งที่ส่งไปไม่ถูกต้อง หรือมีพารามิเตอร์ไม่ถูกต้อง PREAUTH แสดงว่าไม่จำเป็นต้องใช้คำสั่ง LOGIN เพราะเคยมีการสถานะที่ได้รับการอนุมัติ(Authenticated State) แล้ว BYE แสดงว่าเซิร์ฟเวอร์ได้จบการทำงานไปแล้ว

MIME การเข้ารหัสและ MIME ( Multipurpost InternetMail Extension ) การรับส่ง E-mail ผ่านเครือข่ายนั้น คอมพิวเตอร์ที่เชื่อต่ออยู่ในเครือข่ายมักจะมีหลากหลายชนิด ดังนั้น ข้อมูลที่ส่งผ่านจึงจะต้องเป็นข้อมูลที่อยู่ในรูปแบบกลาง ๆ ซึ่ง คอมพิวเตอร์จะรับรู้และเข้าใจได้เหมือนกัน เพื่อไม่ให้ข้อมูลที่รับหรือส่งเหล่านั้นผิดเพี้ยนไปจากความเป็นจริงและสามารถส่งข้อมูลทั้งที่เป็นข้อความและไม่เป็นข้อความ (เช่น ข้อมูลที่เป็นรูปภาพและเสียง ) รวมกันไปในอีเมล์ฉบับเดียวกันได้ ดังนั้นจึงได้นำเทคนิคการเข้ารหัสที่เรียกว่า MIME มาใช้เพื่อเข้ารหัสและถอดรหัสในการรับส่งอีเมล์โดยทั่วไป

เทคนิคของ MIME ( Multipurpose Internet Mail Extensions ) นี้เป็นเทคนิคที่แปลงรหัสแอสกี้ทั่วไปซึ่งมี 8 บิตให้เป็นค่า 7 บิต(ให้บิตที่ 0 มีค่าเป็น 0 เสมอ) โดยที่เทคนิคของ MIME นี้จะสามารถใช้รับส่งข้อมูลได้ทุก ๆ รูปแบบ ไม่ว่าจะเป็นข้อมูลของอีเมล์หรือ ไฟล์ประเภทต่างๆ ที่แนบไปกับอีเมล์ ซึ่งอีเมล์บนอินเตอร์เน็ตในยุคแรก ๆ ในกรณีที่ต้องการรับส่งข้อมูลที่มีรูปแบบไฟล์แตกต่างไปจากค่าแอสกี โดยทั่วไปผู้ส่งจะต้องแปลงรหัสข้อมูลก่อนส่งด้วยคำสั่ง UUENCODE เพื่อแปลงข้อมูลให้อยู่ในรูปแบบของ MIME ในด้านผู้รับก็จะต้องถอดรหัสข้อมูลกลับมาอยู่ในรูปแบบเดิมโดยใช้คำสั่ง UUDECOCE ซึ่งทั้ง 2 คำสั่งนี้เริ่มพัฒนาขึ้นมาพร้อมกับระบบปฏิบัติการ UNIX และภายหลังจึงมีการให้ใช้แพร่หลาย ในระบบปฏิบัติการอื่น ๆ แต่ในปัจจุบัน โปรแกรมที่ทำหน้าที่รับส่งอีเมล์จะทำหน้าที่แปลงและถอดรหัสข้อมูลให้อัตโนมัติ โดยไม่จำเป็นต้องอาศัยคำสั่ง UUENCODE และ UUDECODE อีกต่อไปแล้ว

ลักษณะข้อมูลของ MIME ประกอบด้วย 2 ส่วน คือ ส่วนหัว หรือเรียกว่า Content Transfer Encode ซึ่งจะเก็บรายละเอียดของไฟล์ที่เข้ารหัสไว้ เช่น ประเภทของไฟล์เป็นต้น ส่วนที่ 2 เป็นส่วนของข้อมูลที่เข้ารหัสแล้ว การเข้ารหัสและการถอดรหัสของ MIME นี้จะถูกระบุ ไว้ในส่วนหัว เพื่อให้ผู้รับและผู้ส่งเข้าใจตรงกันว่า อีเมล์นี้เข้ารหัสและถอดรหัสด้วยวิธีใด ซึ่งมีอยู่ด้วยกัน 6 วิธี คือ

วิธีเข้ารหัสแบบ Quoted-Printable เทคนิคการเข้ารหัสวิธีนี้จะแปลงข้อมูลให้อยู่ในลักษณะที่อ่านได้เสมอ ซึ่งหากข้อมูลเป็น ASCII 7 bit อยู่แล้วก็จะไม่มีการแปลงข้อมูล แต่ถ้าเป็นค่าบิตที่ศูนย์มีค่าเป็น 1 จะถูกแปลงให้มาอยู่ในรูปค่าของเลขฐาน 16 (01234567890ABCDEF) และนำหน้าด้วยเครื่องหมายเท่ากับ (=) ตัวอย่างเช่น ข้อมูลที่เขารหัสแล้วมีค่าเป็น =A1 หมายถึงข้อมูลที่ค่า ASCII เป็น 161 (ในภาษาไทยคือ ค่า 'ก') หรือค่า Hex เป็น A1 เป็นต้น

วิธีเข้ารหัสแบบ Base64 เป็นเทคนิคการเข้ารหัสโดยจะแปลงข้อมูลจำนวน 24 bit (ข้อมูล 8 บิตจำนวน 3 ไบต์ ) ออกเป็นข้อมูล 6 บิตจำนวน 4 ชุด โดยหลังจากที่เข้ารหัสแล้ว ข้อมูลจะถูกแปลงให้อยู่ในรูปของตัวอักษร 64 ตัว มีค่าตามตาราง Base64 Alphabet แต่ข้อมูลดังกล่าวจะไม่เปลี่ยนแปลงค่าของ Carriage Return และ Line Feed และปิดท้ายข้อมูลด้วยเครื่องหมาย = ซึ่งเรียกว่า PAD Binary เป็นข้อมูลที่ต่อเนื่องกันเป็นค่าไบนารี ไม่แบ่งออกเป็นบรรทัด ซึ่งข้อมูลประเภทนี้จะส่งโดยไม่มีการเข้ารหัสข้อมูล

วิธีเข้ารหัสแบบ Seven-Bit เป็นข้อมูลที่มีค่า ASCII 7 บิต ซึ่งข้อมูลประเภทนี้จะส่งโดยไม่มีการเข้ารหัสข้อมูล

วิธีเข้ารหัสแบบ Eight-Bit เป็นข้อมูลที่มีค่า ASCII 8 บิต ซึ่งข้อมูลประเภทนี้จะส่งโดยไม่มีการเข้ารหัสข้อมูล

วิธีเข้ารหัสแบบ X-Token เป็นเทคนิคการเข้ารหัสที่ต้องมีการติดต่อและตกลงกันระหว่างด้านผู้ส่งและผู้รับของ SMTP Server ก่อนเป็นเทคนิคการเข้ารหัสที่ต้องมีการติดต่อและตกลงกันระหว่างด้านผู้ส่งและผู้รับของ SMTP Server ก่อน

การรักษาความปลอดภัยและการเข้ารหัสอีเมล์

การที่ต้องให้อีเมล์มีความปลอดภัยในการรับส่งข้อมูลมากขึ้น ก็เพื่อป้องกันไม่ให้ผู้อื่นลักลอบอ่านข้อความได้ และในการแปลงรหัสตามวิธีของ MIME เน้นได้มีข้อกำหนดเพิ่มเติมเรียกว่า S/MIME ซึ่งพัฒนาขึ้นโดย RSA Data Security Inc. โดยเพิ่มเติมในส่วนของระบบรักษาความ ปลอดภัยขึ้นจากมาตรฐานของ MIME แบบเดิม กระบวนการของ S/MIME ที่ได้เพิ่มในส่วนการทำหน้าที่เข้ารหัสข้อมูล (Encryption) และการส่งลายเซ็นดิจิตอล (Digital Signature) เข้าไปในข้อมูลอีเมล์ การเข้ารหัสข้อมูลนั้น S/MIME จะใช้วิธีการ Public-Key โดยใช้คีย์ที่มีความยาวได้สูงสุด 2,048 บิต และวิธีการเข้ารหัสข้อมูลนั้นมีใช้ทั้งวิธีการเข้ารหัสข้อมูลนั้นมีใช้ทั้งวิธีของ DES (Data Encryption Standard) และ Triple DES ในกรณีการเข้ารหัสของลายเซ็นดิจิตอล นั้น RSA ได้พัฒนาไลบรารีภาษา C ที่เรียกว่า TIPEM เพื่อให้ผู้พัฒนา Software ต่าง ๆ นำไปพัฒนาตามมาตรฐานของ S/MIME

ในปัจจุบันถึงแม้ว่าS/MIMEจะยังไม่ถูกกำหนดให้เป็นโปรโตคอลมาตรฐานในการรักษาความปลอดภัยของอีเมล์ แต่ก็ถือว่าได้รับการยอมรับเป็นมาตรฐานไปโดยปริยายเพราะมีการใช้งานมาก (De facto Standard) เนื่องจากบริษัทพัฒนา Software ชั้นนำหลายแห่ง ไม่ว่าจะเป็น Microsoft,Nescape.Lotus,Verisgnหรือ Novell ก็ตาม ได้นำเอาโปรโตคอล S/MIME นี้ไปใช้งานแล้ว ในขณะที่โปรโตคอล S/MIME กำลังรอการรับรองมาตรฐานอยู่นี้ การเข้ารหัสแบบ MOSS หรือ MIME Object Security Services หรือที่เรียกอีกอย่างหนึ่งว่า PEM-MIME (Privacy Enhanced Mail MIME) ก็กำลังมีการพัฒนาตาม RFC 1848 อยู่ โดย MOSS ได้พยายามแก้ไขจุดอ่อนของ S/MIME จากการที่โปรโตคอล S/MIME จะใช้มาตรฐานการเข้ารหัสแบบเดียวในทุก ๆ ส่วนของอีเมล์ แต่ MOSS จะแบ่งอีเมล์ออกเป็นส่วน ๆ แต่ละส่วนจะใช้วิธีการเข้ารหัสและคีย์ที่แตกต่างกันไป ซึ่งจะช่วยให้อีเมล์มีความปลอดภัยมากยิ่งขึ้น แต่อย่างไรก็ดี ความซับซ้อนของโปรโตคอล MOSS ก็ทำให้การกำหนดมาตรฐานและการพัฒนาผลิตภัณฑ์ออกมามีความยุ่งยากมากขึ้นตามไปด้วย

โปรโตคอลที่คู่กับ POP3 คือ SMTP เพราะเป็นโปรโตคอลที่ใช้ส่งอีเมล์จาก User agent ของผู้ส่งไปยัง MTA ของผู้ส่ง และส่งต่อไปยัง MTA เครื่องอื่น ๆ ที่เป็นจุดผ่านในการเชื่อมต่อไปยังเครื่องของผู้รับ โปรโตคอล SMTP จะทำงานร่วมกับโปรโตคอล TCP โดยใช้พอร์ต 25 ซึ่งคำสั่งต่าง ๆ ของ SMTP จะเป็นลักษณะเดียวกับ POP3 คือเป็น ASCII ลงท้ายด้วย Carrige Return และ Line Feed ส่วนข้อความที่ตอบกลับมาจะนำหน้าด้วยเลข 3 หลัก เป็นสัญลักษณ์แสดงลักษณะการทำงานของคำสั่งที่ได้รับ

เมื่อเริ่มต้นการติดต่อ SMTP จะกำหนดให้ User Agent ของผู้ส่งต้องส่งคำสั่ง HELLO พร้อมกับรายละเอียดด้านผู้ส่งออกไป จากนั้นจะส่งคำสั่ง MAIL เพื่อแจ้งให้เซิร์ฟเวอร์เตรียมรับอีเมล์ ในส่วนของเซิร์ฟเวอร์เมื่อพร้อมที่จะรับอีเมล์ก็ตอบรับอีเมล์ก็รับอีเมล์ก็ตอบรับกลับมาด้วย คำสั่ง OK จากนั้นที่ด้านส่งก็จะเริ่มส่งโดยใช้คำสั่ง RCPT เพื่อกำหนดอีเมล์แต่ละฉบับไปที่ส่งไป ซึ่งการส่งข้อมูลของอีเมล์ก็จะระบุด้วยคำสั่ง DATA

การส่งอีเมล์ของโปรโตคอล SMTP ได้จัดเตรียมคำสั่งอื่น ๆ ไว้เพื่ออำนวยความสะดวกและคล่องตัวในการทำงาน ซึ่งประกอบด้วย คำสั่ง VRFY เพื่อให้ด้านที่ส่งตรวจสอบรายชื่อว่าผู้ใช้รายนี้มีสิทธิ์ใช้งาน E-mailbox นั้น ๆ หรือไม่ , คำสั่ง EXPN ใช้จัดการและตรวจสอบรายชื่อจากลิสต์รายชื่อ และคำสั่ง TURN ใช้สลับให้ Client ของผู้ส่งทำหน้าที่รับข้อมูลจากเซิร์ฟเวอร์แทน

เมื่อได้รับคำสั่งต่างๆ ของผู้ส่งแล้ว เซิร์ฟเวอร์จะมีหน้าที่ตรวจสอบความถูกต้องของคำสั่ง จากนั้นจึงทำงานตามคำสั่งแล้วส่งผลตอบกลับมา ส่วนลักษณะของข้อมูลที่ตอบกลับ ( Reply Message ) นั้นจะเป็นข้อมูลที่อยู่ในรูปของ Text ที่เป็น ASCII โดยจะประกอบด้วยตัวเลข นำหน้าข้อความสามหลัก ทำหน้าที่แสดงสถานะการทำงานของเซิร์ฟเวอร์ และเปลี่ยนสถานะการทำงานของโปรโตคอล SMTP ด้วย ถัดจากตัวเลขจะคั่นด้วยช่องว่างแล้วตามด้วยเครื่องหมาย Carriage Return และ Line Feed ตัวอย่างเช่น 500 Syntax error, command unreconized หมายถึงคำสั่งที่ส่งไปไม่ถูกต้อง หรือ 503 Bad sequence of commands หมายถึง ลำดับการส่งคำสั่งไม่ถูกต้อง เหล่านี้เป็นต้น

ในการส่งอีเมล์ของโปรโตคอล SMTP นั้น จะใช้วิธีอ้างถึงเซิร์ฟเวอร์อื่น ๆ ตามแบบ DNS (Domain Name [[sys]]tem) เช่นเดียวกับระบบอื่น ๆ ในอินเทอร์เนต และยังสามารถส่งอีเมล์ๆไปยังผู้รับคนเดียวหรือหลาย ๆ คนพร้อมกันได้ด้วย


ผู้เขียน/อ้างอิง : จักรกฤษณ์ แร่ทอง

เวบ/อินเตอร์เน็ตเทคโนโลยี

  • ท่ามกลางความอบอ้าวของตลาดนัดจตุจักร ชายหนุ่มหลุดจากความเบียดเสียดของคนที่เดิน...
  • โปรแกรมใหม่นี้ได้เริ่มมี อาการแปลกๆ รวมถึงกินพื้นที่และทรัพยากรอันมีค่าเป็นอันมาก และอาการที่เกิดขึ้นนี้ไม่มีการกล่าวถึง
  • เมื่อเครื่องของเรามีปัญหา เช่น Boot ไม่ขึ้น หรือ Boot แล้วเข้าสู่วินโดวส์ได้แล้ว แต่ทำงานผิดปกติไป
  • กฎ 24 ข้อในการเขียนซีจีไอสคริปต์ให้มีความปลอดภัย โปรแกรมสำหรับขายสินค้าบนเว็บ โปรแกรมสำหรับสนทนาบนเว็บ โปรแกรมเว็บบอร์ด

การทำให้ข้อมูลเป็นความลับ (Confidentiality) เพื่อป้องกันไม่ให้ผู้ที่ไม่มีสิทธิ์ในการเข้าถึงข้อมูลสามารถเข้าถึงข้อมูลได้

Header ของ E

1. ส่วนหัว หรือ Header มีลักษณะเป็นช่องว่าง ให้กรอกรายละเอียดลงไป โดยข้อมูลที่ต้องกรอกคล้ายกับการจ่าหน้าซองจดหมาย จะประกอบไปด้วย ที่อยู่อีเมลของผู้ส่ง ซึ่งในปัจจุบันอาจไม่ปรากฏให้เห็น ที่อยู่อีเมลผู้รับ หัวข้อเนื้อหาภายใน เพื่อให้ผู้รับสามารถเข้าใจคร่าวๆ ถึงหัวข้อเรื่องของการสื่อสารครั้งนี้

E

ที่อยู่อีเมล (Email Address) ประกอบด้วย 4 ส่วนหลักด้วยกัน คือ ชื่อผู้ใช้, สัญลักษณ์, ชื่อโดเมนของอีเมล (เช่น ชื่อองค์กร, ชื่อเว็บไซต์ เป็นต้น) ปิดท้ายด้วยรากโดเมน (Root Domain)

E

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

E

เป็นการติดต่อสื่อสารที่มีประสิทธิภาพ.

สามารถกระจายข้อมูลในจดหมายไปยังผู้อ่านหลายๆ คนได้.

ข้อมูลในจดหมายอาจจะถูกส่งต่อไปยังผู้อื่นอีกได้ง่าย.

สามารถส่งข้อมูลในจดหมายได้รวดเร็วมาก แม้ว่าจะอยู่ไกลออกไป.

สามารถแนบ files ไปกับข้อมูลในจดหมายได้.

ไม่ต้องติดแสตมป์ ใส่ซองหรือไปที่ทำการไปรษณีย์.