Tài liệu Báo cáo giao thức imap

  • Số trang: 30 |
  • Loại file: PDF |
  • Lượt xem: 149 |
  • Lượt tải: 0
tranbon

Đã đăng 976 tài liệu

Mô tả:

MỤC LỤC 1. Lịch sử phát triển của giao thức IMAP………………………………………...2 1.1. Giới thiệu giao thức IMAP……………………………………………………2 1.2. Lịch sử phát triển……………………………………………………………...2 2. Mục đích sử dụng, phạm vi ứng dụng, bản chất của giao thức IMAP……….4 2.1. Mục đích sử dụng...…………………………………………………………..4 2.2. Phạm vi ứng dụng…………………………………………………………….4 2.3. Bản chất của giao thức IMAP………………………………………………...5 3. Mô tả nguyên lý hoạt động của giao thức IMAP………………………………5 3.1. Mức độ liên kết……………………………………………………………….5 3.2. Các lệnh và phản hồi………………………………………………………….5 3.3. Trạng thái và sơ đồ lưu lượng………………………………………………....7 3.4. Định dạng dữ liệu……………………………………………………………..8 3.5. Các lệnh của khách hàng…………………………………………………….10 3.6. Máy chủ trả lời………………………………………………………………12 4. Phân tích các ưu, nhược điểm của giao thức IMAP……………………….…14 4.1. Ưu điểm……………………………………………………………………...14 4.2. Nhược điểm………………………………………………………………….16 5. Mô phỏng……………………………………………………………………….18 6. Kết luận và xu hướng phát triển………………………………………………29 7. Tài liệu tham khảo……………………………………………………………...30 1 1. Lịch sử phát triển của giao thức IMAP 1.1. Giới thiệu IMAP Tiêu chuẩn Internet Message Access Protocol (IMAP) – Giao thức truy cập thông điệp Internet là một giao thức Internet ở tầng ứng dụng, cho phép máy khách truy cập thư điện tử trên một máy chủ thư từ xa. IMAP cùng với Giao thức truy cập hộp thư (POP - Post Office Protocol) là một trong hai giao thức tiêu chuẩn Internet phổ biến nhất về lấy thư điện tử. Trên thực tế, tất cả các máy khách và máy chủ thư điện tử hiện đại đều hỗ trợ cả hai giao thức này để truyền tải thông điệp điện tử từ một máy chủ. Giao thức truy cập hộp thư POP rất phổ biến với người dùng do tính đơn giản và có lịch sử phát triển lâu dài. Tuy nhiên, POP có rất ít tính năng và thường chỉ chú trọng hỗ trợ phương thức truy cập thư ngoại tuyến (offline). Do đó, Giao thức truy cập thông điệp Internet ra đời với mục đích cụ thể là cung cấp tính linh hoạt trong cách truy cập, cách lấy và cách làm việc với thông điệp điện tử của người dùng. Trong thực tế, IMAP có thể hoạt động theo cả ba chế độ: trực tuyến (online), ngoại tuyến và không kết nối (disconnected – chế độ lai giữa online và offline, người dùng thao tác với bản sao tạm thời của các thông điệp trên máy chủ), trong đó, chế độ trực tuyến và không kết nối nhận được quan tâm của rất nhiều người dùng, còn chế độ ngoại tuyến thì ít hơn do giống với POP. Hiện tại, IMAP do Nhóm chuyên trách kỹ thuật Internet - Internet Engineering Task Force (IETF) phát hành dưới dạng RFC (Request for Comments, là những tài liệu kỹ thuật và tổ chức về Internet, bao gồm những tài liệu đặc tả kỹ thuật và chính sách được tổ chức IETF phát hành). 1.2. Lịch sử phát triển IMAP có lịch sử phát triển, cụ thể như sau: - Phiên bản đầu tiên gọi là Giao thức truy cập hộp thư tạm thời (Interim Mail Access Protocol - IMAP), được thiết kế bởi Mark Crispin năm 1986. Giao thức tạm thời thiếu liên kết yêu cầu/trả lời và do đó cú pháp của nó không tương thích với tất cả các phiên bản sau này. Hiện tại, không còn tồn tại một tài liệu đặc tả hay một phần mềm nào sử dụng giao thức truy cập hộp thư tạm thời này nữa. - Phiên bản thứ hai gọi là Giao thức truy cập hộp thư tương tác (Interactive Mail Access Protocol – IMAP2), được phát triển tại Đại học Stanford – Mỹ từ giữa những năm 1980, sau đó được chuẩn hóa và định nghĩa trong RFC 1064 vào tháng 7 năm 1988 và được cập nhật vào tháng 8 năm 1990 tại RFC 1176. IMAP2 có một số 2 yêu cầu/trả lời giống với IMAP phiên bản đầu tiên nhưng đã đưa ra được liên kết yêu cầu/trả lời và IMAP2 cũng là phiên bản được công bố công khai đầu tiên. - Phiên bản thứ ba gọi là Giao thức truy cập hộp thư tương tác (Interactive Mail Access Protocol – IMAP3 ), được xác lập tại RFC 1203 vào tháng 2 năm 1991, đưa ra một số khuyến nghị trái ngược với RFC 1176 của phiên bản IMAP2 nhưng IMAP3 không chấp thuận bởi cộng đồng, do đó phiên bản IMAP2 vẫn được sử dụng trong khoảng thời gian này. - Phiên bản thứ tư gọi là Giao thức truy cập hộp thư tương tác IMAP2bis (Interactive Mail Access Protocol – IMAP2bis), được xem là giao thức mở rộng của IMAP2 với việc hỗ trợ cấu trúc nội dung kiểu giao thức mở rộng thư Internet đa chức năng (Multipurpose Internet Mail Extensions - MIME) và thêm nhiều tính năng hộp thư như tạo, xóa, đổi tên, tải thông điệp lên nhưng IMAP2bis không được công bố dưới dạng RFC. Sau đó vào tháng 12 năm 1994, phiên bản IMAP2bis đã được nhóm IETF IMAP đổi tên thành giao thức truy cập thông điệp Internet (Internet Message Access Protocol - IMAP4) để tránh nhầm lẫn với phiên bản IMAP3 và được công bố tại RFC 1730 (RFC mô tả giao thức chính) và RFC 1731 (RFC mô tả cơ chế xác thực của IMAP4). Tiếp đó, IETF đã sửa đổi, bổ sung IMAP4 thành IMAP4rev1 vào tháng 12 năm 1996 tại RFC 2060 và cập nhật IMAP4rev1 vào tháng 3 năm 2003 tại RFC 3501. Ta có thể tóm tắt lộ trình của IMAP qua các mốc thời gian sau: -1986, IMAP được chấp nhận ở đại học Stanford -1987, IMAP2 được định nghĩa, cập nhật client và server. Được hiện thực trên server Unix -1988, tài liệu chính thức của IMAP được xuất hiện trên Net vào tháng Bảy -1989, Mark Crispin, tác giả đầu tiên của IMAP, được đại học Washington thu nhận -1990, bản sửa đổi bổ sung của tài liệu chính thức của IMAP2 được xuất bản vào tháng Tám -1991, bổ sung hỗ trợ cho Multipurpose Internet Mail Extentions. Cho phép truyền file không phải ASCII trên Internet, bổ sung này tạo nền tảng cho IMAP2 beta -1992, đại học Washington triển khai server của IMAP2 beta -1993, nhóm thực hiện IMAP của tổ chức chuyên trách về công nghệ Internet IETF được thành lập. IMAP được hiện thực trên hệ điều hành VMS server của Digital dành cho máy tính lớn. 3 -1994, tài liệu chính thức của IMAP4 được xuất bản -1995, đại học Carnegie Mellon đưa ra server IMAP4 đầu tiên -1996, đại học Washington chủ trì hai cuộc họp đầu tiên về IMAP. Sun, Netscape và những nhà sản xuất khác tuyên bố hỗ trợ IMAP4 -1997, đặc tả cho IMAP4.1 tiếp tục được hoàn thiện. Phát hành hai IMAP cho client là Netscape Messenger và Microsoft Outlook Express, được tích hợp với hai trình duyệt Web phổ biến: Netscape Communicator và Microsoft Internet Explorer 2. Mục đích sử dụng, phạm vi ứng dụng, bản chất của giao thức IMAP 2.1. Mục đích sử dụng: IMAP được sử dụng để đặt sự kiểm soát email trên mail server. Cụ thể, IMAP cung cấp truy cập Email theo ba chế độ khác nhau: offline (ngoại tuyến), online ( trực tuyến) và disconnected ( ngắt kết nối). Truy cập chế độ offline IMAP giống như POP, các thông điệp email được truyền đến máy client server, xóa khỏi mail server và mối liên kết bị ngắt. Sau đó người dùng đọc, trả lời và làm các việc khác ở chế độ ngoại tuyến, còn nếu muốn gửi thư mới đi họ phải kết nối lại. Truy cập chế độ online IMAP là chế độ truy cập mà người dùng đọc và làm việc với thông điệp email trong khi vẫn đang giữ kết nối với mail server ( kết nối mở). Các thông điệp này vẫn nằm ở mail server cho đến khi nào người dùng quyết định xóa nó đi. Chúng được gắn nhãn hiệu cho biết loại để “đọc” hay “trả lời”. Truy cập chế độ disconnected, IMAP cho phép người dùng lưu tạm thông điệp ở client server và làm việc với chúng, sau đó cập nhật trở lại vào mail server ở lần kết nối kế tiếp. Chế độ này hữu ích cho những ai dùng laptop hay truy cập mạng bằng liên kết quay số điện thoại, đồng thời không muốn bỏ phí những lợi điểm của kho chứa thư ở mail server. 2.2. Phạm vi ứng dụng Các giao thức Internet tiêu chuẩn như Gmail, ThunderBird, Mozilla Suite, SeaMonkey,… 4 2.3. Bản chất của giao thức IMAP IMAP là thế hệ mới của giao thức POP (Post Office Protocol). IMAP là một giao thức dạng client/server mà ở đó e-mail được nhận về và được lưu trữ trên servers. Khi sử dụng các e-mail client như OE, Netscape, khách hàng có thể xem trước thông tin header bao gồm người gửi và chủ đề lá thư, từ đó cho phép khách hàng quyết định có download lá thư đó về hay không. Khách hàng cũng có thể tạo nhiều folder hoặc mailboxes trên server, xóa tin nhắn. 3. Mô tả nguyên lý hoạt động của giao thức IMAP 3.1. Mức độ liên kết Giao thức IMAP4 được nhận một dòng dữ liệu đáng tin cậy cung cấp bởi TCP. Khi sử dụng TCP, IMAP4 sẽ nhận thông tin trên port 143. 3.2. Các lệnh và phản hồi Một phiên IMAP4 bao gồm việc thiết lập một kết nối máy khách/máy chủ, một lời chào ban đầu từ máy chủ và tương tác máy khách/máy chủ.Những tương tác máy khách/máy chủ bao gồm lệnh của một khách hàng, dữ liệu của máy chủ và một kết quả hoàn tất do máy chủ trả lời lệnh tương ứng. Tất cả các tương tác truyền bởi máy khách và máy chủ dưới dạng dòng, nghĩa là chuỗi kết thúc với một CRLF. Giao thức nhận của một khách hàng IMAP4 hay máy chủ IMAP4 sẽ đọc một dòng hoặc một chuỗi các octet với một số đứng sau một đường thẳng (Octet: khối dữ liệu có kích thước 8 bit) 3.2.1. Giao thức khách hàng gửi và giao thức máy chủ nhận Một lệnh của khách hàng sẽ bắt đầu một hoạt động. Mỗi lệnh của khách hàng được bắt đầu bởi một định danh (thường là một chuỗi chữ số ngắn. Ví dụ: A0001, A0002, ..v.v…) được gọi là một “thẻ” (“tag”). Một thẻ khác nhau được tạo ra bởi mỗi lệnh của khách hàng. Có hai trường hợp trong đó một đường dây từ khách hàng không đại diện cho một lệnh cần hoàn thành. Trong trường hợp một, một đối số lệnh là trích dẫn với một số octet, trong trường hợp hai, các đối số lệnh yêu cầu thông tin phản hồi của máy chủ. Trong cả hai trường hợp, máy chủ sẽ gửi một lệnh tiếp tục đáp ứng yêu cầu nếu nó đã sẵn sàng cho octet ( nếu thích hợp) và phần còn lại của lệnh. 5 Lưu ý: Nếu thay vào đó, máy chủ phát hiện một lỗi trong các lệnh, nó sẽ gửi một câu trả lời BAD có tag phù hợp với lệnh để từ chối lệnh và ngăn cản khách hàng gửi thêm bất kỳ lệnh nào. Nó cũng có thể để cho máy chủ gửi một đáp ứng hoàn thiện cho một số lệnh khác ( nếu đang tiến hành nhiều lệnh), hoặc đang tháo thẻ dữ liệu. Trong cả hai trường hợp, khách hàng sẽ có hành động thích hợp để quyết định các lệnh sẽ tiếp tục tiến hành hay là chờ giải quyết Giao thức nhận của IMAP4 sẽ đọc một dòng lệnh từ khách hàng, phân tích cú pháp lệnh và đối số của nó, truyền dữ liệu về máy chủ và máy chủ sẽ hoàn thành lệnh đưa đến phản hồi. 3.2.2. Giao thức máy chủ gửi và giao thức khách hang nhận Dữ liệu được truyền bởi máy chủ đến khách hàng và trạng thái lệnh không được hoàn thành sẽ được bắt đầu bởi dấu “*”, được gọi là phản hồi untagged ( tháo thẻ). Dữ liệu máy chủ có thể được gửi như là kết quả của một lệnh khách, hoặc có thể được gửi đơn phương bởi máy chủ. Không có sự khác biệt về cú pháp giữa một dữ liệu máy chủ từ môt lệnh cụ thể và dữ liệu được gửi đơn phương. Máy chủ phản hồi một kết quả hoàn thiện cho thấy hoạt động thành công hay thất bại. Nó được gắn thẻ với các từ khóa tương tự với các lệnh khách đã vận hành. Vì vậy, nếu tiến hành nhiều hơn một lệnh, các từ khóa trong một câu trả lời có thể xác định phản ứng của máy chủ. Có ba loại khả năng có thể được phản hồi từ máy chủ: OK ( chỉ thị thành công), NO ( chỉ thị thất bại) và BAD ( giao thức bị lỗi do lệnh không được công nhận hoặc lỗi cú pháp lệnh). Giao thức nhận của khách hàng IMAP4 đọc dòng phản hồi từ máy chủ, sau đó nó sẽ có các hành động phản hồi dựa trên các mã thông báo đầu tiên của phản ứng, ví dụ như một thẻ “*” hoặc thẻ “+” Khách hàng phải chuẩn bị sẵn sàng chấp nhận bất kỳ phản ứng nào của máy chủ ở bất kỳ thời gian nào. Điều này có thể bao gồm cả dữ liệu máy chủ mà nó không được yêu cầu. Dữ liệu của máy chủ nên được ghi lại, để cho các khách hàng có thể tham khảo dữ liệu từ bản sao chứ không cần gửi lệnh cho máy chủ để yêu cầu dữ liệu. Trong vài trường hợp, một số dữ liệu của máy chủ bắt buộc phải được ghi lại. 6 3.3. Trạng thái và sơ đồ lưu lượng Một máy chủ IMAP4 luôn ở một trong bốn trạng thái. Hầu hết các lệnh có hiệu lực ở vài trạng thái nhất định. Đó là lỗi giao thức khi khách hàng cố gắng thực hiện một lệnh trong khi lệnh đang ở trạng thái không phù hợp. Trong trường hợp này, máy chủ sẽ trả lời với một lệnh kết quả BAD hoặc NO (tùy thuộc máy chủ thực hiện) 3.3.1. Trạng thái chưa xác thực Trong trạng thái chưa đăng nhập, người dùng phải cung cấp và xác nhận các thông tin trước khi phần lớn các lệnh được cho phép. Trạng thái này được nhập khi một kết nối bắt đầu, trừ khi kết nối đó đã được xác thực trước. 3.3.2. Trạng thái xác thực Trong trạng thái xác thực, người dùng được xác nhận và phải chọn một hộp thư để truy cập trước khi lệnh ảnh hưởng đến tin nhắn được cho phép. Trạng thái này được nhập khi bắt đầu một kết nối đã được xác thực trước, khi thông tin xác nhận được cung cấp đã được chấp nhận, hoặc sau một lỗi trong việc lựa chọn một hộp thư. 3.3.3. Trạng thái lựa chọn Trong trạng thái lựa chọn, một hộp thư đã được lựa chọn để truy cập. Trạng thái này được nhập khi một hộp thư đã được lựa chọn thành công 3.3.4. Trạng thái đăng xuất Trong trạng thái đăng xuất, phiên hoạt động của người dùng đang chấm dứt, và máy chủ sẽ đóng kết nối, Trạng thái này có thể được nhập như là một yêu cầu của khách hàng hoặc một quyết định đơn phương của máy chủ. 7 +--------------------------------------+ |kết nối ban đầu và lời chào từ máy chủ| +--------------------------------------+ || (1) || (2) || (3) VV || || +-----------------+ || || | chưa đăng nhập | || || +-----------------+ || || || (7) || (4) || || || VV VV || || +----------------+ || || | đăng nhập |<=++ || || +----------------+ || || || || (7) || (5) || (6) || || || VV || || || || +--------+ || || || || |lựa chọn|==++ || || || +--------+ || || || || (7) || VV VV VV VV +--------------------------------------+ | đăng xuất và đóng kết nối | +--------------------------------------+ (1)Kết nối không cần đăng nhập trước (lời chào OK) (2)Kết nối đăng nhập trước ( lời chào PREAUTH) (3)Kết nối bị từ chối ( lời chào BYE) (4)Lệnh ĐĂNG NHẬP thành công (5)Lệnh CHỌN hoặc KIỂM TRA thành công (6)Lệnh ĐÓNG, hoặc lệnh CHỌN hoặc KIỂM TRA thất bại (7)Lệnh ĐĂNG XUẤT, tắt máy chủ hoặc đóng kết nối 3.4. Định dạng dữ liệu IMAP4 sử dụng các lệnh và phản ứng dạng văn bản. Dữ liệu trong IMAP4 có thể dưới một trong các hình thức: nguyên tử, số, chuỗi, danh sách ngoặc và NIL 3.4.1. Nguyên tử Một nguyên tử bao gồm một hoặc nhiều ký tự không đặc biệt 3.4.2. Số Một số bao gồm một hoặc nhiều ký tự chữ số, và đại diện cho một giá trị số 8 3.4.3. Chuỗi Một chuỗi là một trong hai hình thức: chữ và chuỗi trích dẫn. Các hình thức theo chữ là hình thức chung của chuỗi. Các hình thức theo chuỗi trích dẫn là một cách thay thế tránh chi phí hạn chế khi xử lý một chữ. Một chữ là một chuỗi không hoặc nhiều octet (bao gồm cả CR và LF), tiền tố được trích dẫn dạng một dấu mở ngoặc “{”, số lượng octet, dấu đóng ngoặc “}”, và CRLF. Trong trường hợp chữ truyền từ máy chủ đến khách hàng, các dữ liệu octet sẽ lập tức theo sau CRLF. Trong trường hợp chữ truyền từ khách hàng đến máy chủ, khách hàng phải chờ đợi để nhận được một lệnh yêu cầu tiếp tục trước khi gửi dữ liệu octet (và phần còn lại của lệnh). Một chuỗi trích dẫn là một chuỗi không hoặc nhiều ký tự 7-bit (không bao gồm CR và LF), với dấu (<”>) ở mỗi chỗ kết thúc Chuỗi rỗng tiêu biểu như “” ( một chuỗi trích dẫn với không ký tự trong dấu ngoặc kép) hoặc như {0} theo sau là CRLF ( một chữ với octet của số 0) Lưu ý: Ngay cả khi octet là 0, khách hàng vẫn phải chờ đợi để nhận được lệnh yêu cầu tiếp tục 3.4.4. Danh sách ngoặc Cấu trúc dữ liệu được biểu diễn như là một “danh sách ngoặc”, một chuỗi các mục dữ liệu, phân cách bằng dấu space, và kết thúc bằng dấu ngoặc đơn. Bản thân một danh sách ngoặc có thể chứa các danh sách ngoặc, sử dụng nhiều dấu ngoặc đơn để chia ra. Danh sách ngoặc rỗng tiêu biểu như () – một danh sách ngoặc với không thành viên 3.4.5. NIL Nguyên tử đặc biệt “NIL” đại diện cho sự không tồn tại của một mục dữ liệu cụ thể được biểu diễn như là một chuỗi hoặc một danh sách ngoặc. Nó khác biệt với một chuỗi rỗng “” hoặc danh sách ngoặc rỗng ( ) 9 3.5. Các lệnh của khách hang 3.5.1. Lệnh trạng thái bất kỳ Có thể được sử dụng ở bất kỳ trạng thái nào Lệnh Capability Tham số Không có Noop Không có Logout Không có Mô tả Yêu cầu máy chủ cho khách hàng những khả năng và tính năng mà nó hỗ trợ Không có gì. Có thể được sử dụng để thiết lập lại bộ đếm thời gian hoặc định kỳ nhắc nhở máy chủ gửi thông báo khi có thư mới Thông báo với máy chủ khách hàng đã sẵn sàng để kết thúc phiên, sau đó máy chủ sẽ đóng kết nối 3.5.2. Lệnh trong trạng thái chưa xác thực Lệnh chỉ được sử dụng trong trạng thái chưa xác thực. Những lệnh này thường được sử dụng để xác thực. Lệnh Authenticate Login STARTTLS Tham số Tên người dùng và mật khẩu Tên cơ chế xác thực Không có Mô tả Chỉ định một tên người dùng và mật khẩu để sử dụng cho việc chứng thực Cho máy chủ mà khách hàng muốn sử dụng một cơ chế xác thực cụ thể, nhắc nhở khách hàng và máy chủ trao đổi thông tin xác thực phù hợp với quy chế Thông báo với máy chủ IMAP4 để sử dụng giao thức Transport Layer Security (TLS) để xác thực, và nhắc nhở TLS bắt đầu đàm phán 3.5.3. Lệnh trong trạng thái xác thực Được sử dụng để thực hiện các hành động khác nhau trên hộp thư ( Có thể sử dụng cả trong trạng thái lựa chọn? Lệnh Tham số Mô tả 10 Select Tên hộp thư Examine Tên hộp thư Chọn một hộp thư riêng biệt để truy cập. Nếu lệnh này thành công sẽ chuyển sang trạng thái lựa chọn. Các máy chủ sẽ thường xuyên phản hồi thông tin cho khách hàng về các hộp thư được lựa chọn Giống như lệnh Select, ngoại trừ việc hộp thư Create Tên hộp thư mở ra chỉ để đọc chứ không thể thay đổi được Tạo ra một hộp thư với tên hợp lý Delete Rename Tên hộp thư Xóa hộp thư quy định Tên hộp thư hiện Đặt lại tên một hộp thư tại và mới Tên hộp thư Thiết lập thêm hộp thư quy định Subscribe Unsubscribe Tên hộp thư Loại bỏ các hộp thư từ danh sách “tích cực” List Yêu cầu một phần danh sách các tên hộp thư có sẵn, dựa trên các tham số được cung cấp Lsub Append Status Tên hộp thư hoặc chuỗi tham chiếu Tên hộp thư hoặc chuỗi tham chiếu Tên hộp thư, tin nhắn, cờ tùy chọn và ngày/thời gian Tên hộp thư Tương tự như List nhưng chỉ trả về tên từ danh sách “tích cực” Thêm một thông điệp tới hộp thư Yêu cầu tình trãng của hộp thư quy định. Máy chủ đáp ứng cung cấp thông tin như số lượng tin nhắn trong hộp và số lượng tin nhắn mới đến và ẩn 3.5.4. Trạng thái lựa chọn Một tập hợp các lệnh được sử dụng để truy cập và thao tác tin nhắn cá nhân mà chỉ có thể được sử dụng trong trạng thái lựa chọn. Lệnh Check Tham số Không có Mô tả Thiết lập một “trạm kiểm soát” cho hộp thư hiện tại.Được sử dụng để đánh dấu khi một trình tự nhất định của hoạt động hoàn thành 11 Đóng hộp thư hiện tại và trả phiên về trạng thái xác thực. Khi lệnh này được ban hành, máy chủ cũng sẽ mặc nhiên thực hiện hoạt động Xóa trên hộp thư Expunge Không có Vĩnh viễn loại bỏ bất kỳ tin nhắn được đánh dấu để xóa của khách hàng. Điều này được thực hiện tự động khi hộp thư đóng lại Search Tiêu chí tìm kiếm Tìm kiếm các hộp thư cho tin nhắn phù hợp với và một đặc điểm tiêu chí tìm kiếm quy định. Máy chủ sẽ liệt kê các kỹ thuật thiết lập con số đáp ứng tùy chọn Fetch Trình tự số tin Lấy thông tin về một hoặc một tập hợp tin nhắn từ nhắn và danh sách hộp thư hiện tại các đối tượng dữ liệu tin nhắn (một hoặc Partial Trìnhnhiều) tự số tin Tương đương với lệnh Fetch với các tính năng bổ nhắn và danh sách sung mà chỉ số quy định của octet được trả về, chỉ các đối tượng dữ có một thông điệp duy nhất có thể được lấy tại thời liệu tin nhắn (một điểm octet đầu tiên hoặc nhiều), vị trí octet đầu tiên và số Uid Tênoctet lệnh và đối số Được thực hiện để cho phép một trong các lệnh khác được thực hiện bằng cách sử dụng số nhận dạng duy nhất để xác đinh hoạt động của các tin nhắn, thay vì những con số thông báo trình tự Store Trình tự số tin Bảo quản một giá trị cho một mục dữ liệu tin nhắn nhắn và tên mục cụ thể dữ liệu tin nhắn, giá trị Copy Trình tự số tin Sao chép các thiết lập các tin nhắn cụ thể cuối hộp nhắn và tên một thư quy định hộp thư Close Không có 3.6. Máy chủ trả lời Câu trả lời của máy chủ có ba hình thức: phản ứng tình trạng, dữ liệu máy chủ và lệnh yêu cầu tiếp tục. 12 Phản hồi của dữ liệu máy chủ được xác định bởi “dữ liệu” trong phản ứng, được mô tả theo chức năng chứ không phải cú pháp. Cú pháp chính xác của dữ liệu máy chủ được mô tả trong phần cú pháp Lệnh yêu cầu tiếp tục sử dụng mã thông báo “+” thay vì một tag Phản ứng tình trạng được gắn thẻ cho thấy kết quả hoàn thành lệnh của khách hàng, và có một thẻ phù hợp với lệnh -Mã kết quả: Có ba mã kết quả chính có thể được gửi khi trả lời một lệnh và hai mã sử dụng trong một số trường hợp đặc biệt  OK: Kết quả tích cực, thường được gửi kèm với các từ khóa của lệnh đã thành công. Có thể được gửi untagged trong lời chào đầu tiên của máy chủ khi phiên bắt đâu  NO: Kết quả tiêu cực. Khi được gắn thẻ, chỉ ra lệnh không thành công, khi untagged, được coi là thông điệp cảnh báo chung về một số tình hình trên máy chủ  BAD: Chỉ thị một thông báo lỗi. Nó được gắn thẻ khi lỗi này trực tiếp liên quan đến một lệnh đã được gửi, và mặt khác là untagged  PREAUTH: Một thông báo untagged gửi vào lúc bắt đầu của một phiên làm việc để cho biết rằng không có yêu cầu xác thực, chuyển trực tiếp sang trạng thái xác thực  BYE: Gửi khi máy chủ muốn đóng kết nối. Nó luôn luôn là untagged, và được gửi trả lời bởi một lệnh LOGOUT hoặc khi kết nối phải đóng cửa vì lí do nào khác -Mã phản hồi: Được sử dụng để giao tiếp các thông tin với khách hàng. Câu trả lời thường đi kèm văn bản mô tả các thông tin chi tiết về những gì đang được truyền đạt. Dưới đây là các mã phản hồi được xác định bởi các tiêu chuẩn IMAP  ALERT: Một thông điệp cảnh báo được gửi đến một khách hàng IMAP để thông báo về một cái gì đó quan trọng  BADCHARSET: Gửi khi tìm kiếm một bộ ký tự không được hỗ trợ  CAPABILITY: Một danh sách các khả năng máy chủ có thể thực hiện  PARSE: Gửi khi xảy ra lỗi phân tích cú pháp các tiêu đề hoặc nội dung MIME của một tin nhắn email  PERMANENTFLAGS: Truyền đạt một danh sách các cờ trạng thái tin nhắn 13 mà khách hàng được phép thao tác  READ-ONLY: Thông báo cho khách hàng rằng hộp thư chỉ có thể truy cập trong chế độ “ chỉ đọc”  READ-WRITE: Thông báo cho khách hàng rằng hộp thư có thể truy cập trong chế độ đọc- ghi  TRYCREATE: Gửi khi lệnh APPEND hoặc lệnh COPY bị lỗi vì hộp thư mục tiêu không có sẵn, đề nghị khách hàng cố gắng tạo hộp thư  UIDNEXT: Gửi với một số thập phân mà xác định giá trị định danh duy nhất để sử dụng trong hoạt động. Những định danh này cho phép mỗi tin nhắn được xác định là duy nhất  UIDVALIDITY: Gửi một số thập phân mà xác định tính hợp lệ của giá trị định danh là duy nhất, được sử dụng để xác nhận dạng tin nhắn duy nhất  UNSEEN: Gửi với một số thập phân mà thông báo với khách hàng rằng tin nhắn được đánh dấu là tin nhắn mới 4. Phân tích các ưu, nhược điểm của giao thức IMAP 4.1. Ưu điểm Khi bạn có thể xem được các header information mà không cần phải download toàn bộ thư về, bạn có thể xóa được một số lượng lớn thư mà không sợ lãng phí thời gian. Cũng vì vẫn lưu trữ trên server, bạn có thể truy cập hộp thư từ nhiều nơi khác nhau và bảo đảm các tin nhắn luôn sẵn sàng. Và với việc thư vẫn còn lưu trên server thì khi máy bị một sự cố cũng không cần lo về việc mất các tin nhắn Kết nối và ngắt kết nối các phương thức hoạt động: Khi sử dụng POP, chỉ khi cần tải tin nhắn mới, khách hàng mới kết nối với máy chủ e-mail một thời gian ngắn. Khi sử dụng IMAP4, khách hàng thường xuyên kết nối khi giao diện người dùng được kích hoạt và tải nội dung tin nhắn theo yêu cầu. Đối với người sử dụng nhiều tin nhắn hoặc lượng tin nhắn lớn, mô hình sử dụng IMAP4 có thể dẫn đến thời gian phản ứng nhanh hơn. Nhiều khách hàng đồng thời kết nối đến cùng một hộp thư: Giao thức POP yêu cầu khách hàng hiện đang kết nối sao cho chỉ duy nhất một khách hàng có thể kết nối đến hộp thư ( chỉ hỗ trợ 1 USER). Ngược lại, các giao thức IMAP đặc biệt cho phép truy cập đồng thời bởi nhiều khách hàng, và còn cung cấp cơ chế cho các khách hàng đề phát hiện các thay đổi của hộp thư được thực hiện bởi những khách hàng đồng thời kết nối khác. 14 Truy cập vào phần tin nhắn MIME và lấy một phần: Thường thì tất cả các e-mail trên Internet được truyền đi trong định dạng MIME, cho phép tin nhắn có một cấu trúc cây mà các nút lá bất kỳ là một loạt các bộ phận nội dung riêng lẻ và các nút không lá bất kỳ là một loạt các kết nối liên tục nhiều lớp. Giao thức IMAP4 cho phép khách hàng lấy bất kỳ một bộ phận riêng lẻ nào của MIME một cách riêng biệt và cũng có thể lấy các phần của từng bộ phận riêng biệt hoặc toàn bộ tin nhắn. Các cơ chế này cho phép khách hàng lấy phần văn bản của một tin nhắn mà không cần lấy các tập tin đính kèm hoặc cho truyền tải nội dung khi nó đang được tải xuống. Thông tin trạng thái tin nhắn: Thông qua việc sử dụng các lá cờ được định nghĩa trong giao thức IMAP4, khách hàng có thể theo dõi các thông điệp trạng thái; ví dụ: có hay không tin nhắn đã được đọc, trả lời hoặc xóa bỏ. Những lá cờ này được lưu trữ trên máy chủ, do đó khách hàng khác nhau truy cập vào cùng một hộp thư trong các thời điểm khác nhau có thể phát hiện những thay đổi trạng thái được thực hiện bởi các khách hàng khác. POP không cung cấp cơ chế lưu trữ trạng thái thông tin như vậy cho khách hàng trên máy chủ, do đó nếu hai khách hàng POP khác nhau cùng truy cập vào một hộp thư, trạng thái thông tin- như là tin nhắn đã được truy cập hay chưa- sẽ không thể được đồng bộ hóa giữa các khách hàng. Giao thức IMAP4 hỗ trợ cả hai loại: cờ hệ thống và từ khóa cho khách hàng. Cờ hệ thống dành cho các thông tin trạng thái, ví dụ: xem tin nhắn đã được đọc hay chưa. Từ khóa, thứ mà các máy chủ IMAP không hỗ trợ, cho phép tin nhắn đưa ra một hoặc nhiều thẻ có ý nghĩa cho khách hàng. Bổ sung thêm người dùng tạo ra thẻ cho các tin nhắn chính là một hoạt động được hỗ trợ bởi một số dịch vụ e-mail trên web, chẳng hạn như Gmail. Nhiều hộp thư trên một máy chủ: Khách hàng IMAP4 có thể tạo, đổi tên và/hoặc xóa hộp thư trên máy chủ, và di chuyển tin nhắn giữa các hộp thư. Nhiều hỗ trợ hộp thư cũng cho phép các máy chủ cung cấp quyền truy cập vào các thư mục công cộng và được chia sẻ. Phần mở rộng (RFC 4314) Danh sách Điều khiển Truy nhập ( Access Control List – ACL) IMAP4 có thể được sử dụng để điều chỉnh quyền truy cập. Tìm kiếm trên máy chủ: IMAP4 cung cấp một cơ chế để một khách hàng có thể yêu cầu máy chủ tìm kiếm các tin nhắn đáp ứng vài tiêu chí nào đó. Cơ chế này giúp tránh việc khách hàng yêu cầu tải về tất cả các tin nhắn trong hộp thư để thực hiện tìm kiếm. 15 Xây dựng cơ chế mở rộng: Phản ánh kinh nghiệm của các giao thức Internet trước đó, IMAP4 định nghĩa một cơ chế rõ ràng mà nó có thể được mở rộng. Rất nhiều mở rộng cho giao thức cơ sở đã được đề xuất và được sử dụng phổ biến. IMAP2bis không có cơ chế mở rộng và POP có một cơ chế được định nghĩa bởi RFC 2449 4.2. Nhược điểm Không như POP3, IMAP yêu cầu truy cập liên tục trong suốt quá trình làm việc với các e-mail. Do việc trữ tin nhắn trên server từ đó dẫn đến việc vượt quá giới hạn không gian lưu trữ cho phép. Trong khi IMAP tìm biện pháp khắc phục những thiếu sót của POP, .Phần lớn các vấn đề phức tạp ( ví dụ: nhiều khách hàng cùng một lúc truy cập vào cùng mottj hộp thư) được bù đắp bằng cách giải quyết như Maildir hoặc các phần phụ trợ cơ sở dữ liệu phia máy chủ. Các đặc điểm kỹ thuật của IMAP đã bị chỉ trích vì không đủ nghiêm ngặt và cho phép tồn tại các hành vi có hiệu quả phủ nhận tính hữu dụng của nó. Ví dụ, đặc điểm kỹ thuật nói rằng mỗi tin nhắn được lưu trữ trên máy chủ chỉ có một “ unique ID” để cho phép các khách hàng xác định các tin nhắn mà họ đã nhìn giữa các phiên. Tuy nhiên, đặc điểm kỹ thuật cũng cho phép các “ unique ID” bị vô hiệu không hạn chế, thực tế điều này đã phủ nhận mục đích của họ. Trừ khi việc lưu trữ thư và các thuật toán tìm kiếm trên máy chủ được thực hiện một cách cẩn thận, một máy khách có khả năng tiêu tốn một lượng lớn tài nguyên máy chủ khi tìm kiếm các hộp thư lớn. Khách hàng của IMAP4 cần phải duy trì một kết nối TCP/IP cho máy chủ IMAP để được thông báo về sự xuất hiện của thư mới. Thông báo thư đến được thực hiện thông qua băng tần tín hiệu, góp phần tăng thêm sự phức tạp trong việc xử lý giao thức IMAP bên máy khách. Một cá nhân đề xuất, push IMAP, sẽ mở rộng IMAP để thực hiện đẩy thư điện tử bằng cách gửi thông báo toàn bộ thay vì chỉ một thông báo. Tuy nhiên, push IMAP nói chung đã không được chấp nhận và hiện tại các nhóm làm việc IETF đã giải quyết vấn đề bằng nhiều cách khác. Không giống như một số giao thức độc quyền kết hợp giữa việc gửi và hoạt động phục hồi, gửi một tin nhắn và lưu một bản sao trong thư mục phía máy chủ với một khách hàng IMAP cấp độ cơ sở đòi hỏi truyền tải nội dung tin nhắn hai lần, một lần để SMTP giao hàng và lần thứ hai để IMAP lưu trữ vào một thư mục dành cho 16 thư đã gửi. Điều này được khắc phục bởi một tập hợp các phần mở rộng được xác định bởi nhóm làm việc IETF LEMONADE cho các thiết bị di động: URLAUTH (RFC 4467) and CATENATE ( RFC 4469) trong IMAP và BURL ( RFC 4468) trong SMTP-SUBMISSION. Các máy chủ POP không hỗ trợ thư mục phia máy chủ, do đó khách hàng không có lựa chọn nào ngoài việc gửi thư trên máy khách. Nhiều máy khách IMAP có thể được cấu hình để lưu thư đã gửi trong một thư mục phía máy khách, hoặc để sao ẩn mình và sau đó lọc thư gửi đến thay vì lưu một bản sao trong một thư mục trực tiếp. Ngoài ra “ bộ ba” LEMONADE, Courier Mail Server cung cấp một phương pháp không tiêu chuẩn của việc gửi bằng IMAP bằng cách sao chép một tin nhắn gửi vào một thư mục dành riêng cho hộp thư đi. Cũng giống như POP, IMAP là một giao thức chỉ dành cho e-mail. Do đó, các hạng mục như địa chỉ liên lạc, các cuộc hẹn hoặc công việc không thể được quản lý hoặc truy cập bằng cách sử dụng IMAP. 17 5. Mô phỏng hoạt động "Đặc điểm chính của IMAP là liên tục đồng bộ dữ liệu 2 chiều giữa máy chủ và máy khách nên dữ liệu có tính đồng nhất cao, nhất là việc sử dụng cùng một tài khoản email trên nhiều thiết bị. Dư liệu lưu tập trung trên máy chủ, dữ liệu trên máy khách chỉ là bản sao tạm thời và có thể thay đổi khi dữ liệu trên máy chủ thay đổi và sau đó được đồng bộ khi kết nối" Theo câu này tôi đang hiểu là chỉ có đăng nhập vào Mail server mới xóa được e-mail trên máy chủ. còn máy khách (máy tớ -Slave) chỉ xóa dữ liệu tạm thời trên máy khách chứ không thể xóa được e-mail trên máy chủ. Nhưng thực tế thì khi xóa trên máy khách lập tức đồng bổ xóa trên máy chủ luôn ". Giao thức IMAP  IMAP được thiết kế năm 1986 để cho phép truy cập từ xa đến những email được lưu trên một server đầu xa. Về cơ bản, sự khác nhau lớn nhất giữa hai giao thức đó là POP tải email từ server về bộ nhớ cục bộ cố định trong khi IMAP để mail trên server và chỉ lưu đệm (lưu trữ tạm thời) email một cách cục bộ. Nói cách khác, IMAP là một dạng của lưu trữ đám mây. IMAP được tạo ra để cho phép truy cập từ xa email lưu trên một server đầu xa. Ý tưởng là cho phép nhiều máy khách hay người dùng quản lý cùng một hộp thư đến. Vì vậy, dù bạn có đăng nhập từ máy tính tại nhà hay máy tính công ty thì bạn sẽ luôn thấy cùng email và cấu trúc thư mục do chúng được lưu trên server và tất cả những thay đổi bạn tạo ra với các bản sao cục bộ ngay lập tức được đồng bộ với server. Kết quả là, IMAP có những ưu điểm như sau: Mail được hỗ trợ truy cập từ nhiều địa điểm khác nhau. Xem nhanh hơn khi chỉ có các tiêu đề mail được tải về đến khi nội dung được yêu cầu rõ ràng. Mail được dự phòng tự động trên server và cho phép lưu mail cục bộ. 18 Mô Phỏng giao thức IMAP Cấu hình mail client sử dụng IMAP Khi tạo mới một account, để cho account này có thể sử dung các chương trình lấy mail như OutLook Express, Microsoft Outlook, Thunderbird…. thì ta phải enable POP để cho phép các chương trình như OutLook Express, Microsoft Outlook, Thunderbird lấy mail về: 1. Bật chức năng tải POP: 2. Cấu hình các chương trình lấy mail: imap.gmail.com Sử dụng SSL: Có Cổng: 993 Máy chủ (IMAP) Thư Đến - yêu cầu SSL: Máy chủ (SMTP) Thư Gửi đi - yêu cầu TLS: smtp.gmail.com (sử dụng xác thực) Sử dụng Xác thực: Có Sử dụng STARTTLS: Có (một số ứng dụng khách gọi STARTTLS là SSL) Cổng:465 hoặc 587  Outlook Express  Microsoft Outlook 2010  Thunderbird I. Enabling IMAP 1. Đăng nhập vào Google Mail của mail.hcmus.edu.vn 2. Click Mail Settings 19 3. Click Forwarding and POP/IMAP. 1. Chọn Enable IMAP 2. Click Save Changes. II. Cấu hình các chương trình lấy mail như OutLook Express, Microsoft Outlook, Thunderbird 20
- Xem thêm -