Tìm hiểu các giao thức dùng cho email Triển khai 1 hệ thống mail cho doanh nghiệp với cơ chế bảo mật dùng Exchange server 2010

MỤC LỤC

LỜI MỞ ĐẦU 3

PHẦN I: CÁC GIAO THỨC TRUYỀN NHẬN MAIL 4

I. Giới thiệu tổng quan về E-mail 4

2.Lợi ích của thư điện tử (E-mail) so với thư truyền thống 5

3.Các nhân tố cơ bản của một hệ thống E-mail 5

4.Cơ chế hoạt động của thư điện tử 7

5.Kiến trúc của thư điện tử 9

6.Những chức năng cơ bản của hệ thống thư điện tử 10

II. Các giao thức truyền nhận E-mail 12

1.SMTP (Simple Mail Tranfer Protocol) 12

1.1.Giới thiệu 12

1.2. Mô hình SMTP 12

1.3. Thủ tục SMTP 14

1.4 Đặc tả SMTP 20

1.5 Giao thức mở rộng SMTP ( ESMTP) 27

2.POP3 28

2.1 Giới thiệu 28

2.2 Thao tác cơ bản 28

2.3 Trạng thái xác nhận (Authorization State) 30

2.4 Trạng thái giao dịch 32

2.5 Trạng thái cập nhật 34

2.6 Các lệnh POP3 chọn lựa 34

3.IMAP(RFC2060, RFC2193, ) 36

3.1. Một số lệnh của IMAP4: 37

4.MIME 43

PHẦN II: TỔNG QUAN MICROSOFT EXCHANGE SERVER 2010 46

I.Tổng quan Microsoft Exchange Server 2010 46

1. Linh động và đáng tin cậy 47

2 Truy cập thông tin ở bất cứ đâu 48

3 Khả năng bảo mật và tuân thủ quy định thông tin cao 50

II. Sự thay đổi của Microsoft Exchange 2010 so với các phiên bản trước 51

1.Một số phần được loại bỏ trong Microsoft Exchange 2010 so với phiên bản trước 51

2.Cải tiến phương thức quản lý 51

3.Khôi phục đơn 53

4.Windows Mobile 53

5.Cho phép phân quyền tự quản trị bằng công cụ ECP 53

6.Những cải tiến về tốc độ 54

7. Một số hạn chế 54

III. Những công nghệ trong Microsoft Exchange 2010 55

1.Hệ thống thư điện tử thống nhất (Unified messaging) 55

2.Phục hồi Mailbox( Mailbox Resiliency) 56

3.Công cụ quản lý (Management tools) 58

4.Theo dõi và bảo vệ thông tin ( Information Protection and Control) 59

5. Một số chức năng khác 62

PHẦN III: TRIỂN KHAI VÀ CÀI ĐẶT MÔ HÌNH EXCHANGE SERVER 2010 63

I.Yêu cầu khi cài đặt Exchange Server 2010 63

1.Yêu cầu phần cứng 63

2.Yêu cầu hệ điều hành (Oparator System), Role & Features 63

3.Yêu cầu hạ tầng 64

II. Triển khai 64

1.Mô hình & chuẩn bị 64

2.Thực hiện 65

2.1 Cài đặt Exchange Server 2010 trên máy Domain 65

2.2 Cài đặt Exchange Edge Transport, ForeFont Protection và TMG 2010 trên máy TMG 71

3.Một số tính năng của ForeFront TMG dành cho Email 78

3.1Cấu hình Email Policy 78

3.2 Cấu hình Anti Spam Policy 80

 

 

docx82 trang | Chia sẻ: netpro | Lượt xem: 7239 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Tìm hiểu các giao thức dùng cho email Triển khai 1 hệ thống mail cho doanh nghiệp với cơ chế bảo mật dùng Exchange server 2010, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cipients.(quá nhiều recipient) 552 Too much mail data (quá nhiều mail data) 1.5 Giao thức mở rộng SMTP ( ESMTP) SMTP có một hạn chế gây khó khăn lớn trong việc truyền nhận mail là giới hạn tối đa kích thước nội dung một bức mail chỉ là 128KB. Ngày nay nội dung các bức mail không chỉ là dạng văn bản đơn thuần mà còn bao gồm hình ảnh, âm thanh và nhiều loại dữ liệu khác nữa, giới hạn 128KB trở nên quá nhỏ. Do vậy người ta đã cải tiến chuẩn SMTP thành một chuẩn mở rộng mới gọi là ESMTP. - Chuẩn này cho phép tăng kích thước mail, nó đưa thêm từ khoá SIZE=nnnnnnnnn sau lệnh khởi động cuộc giao dịch, nhờ đó ta có thể tăng giới hạn kích thước của mail lên trên 1MB, đủ để chứa thêm vào các âm thanh, hình ảnh… - Để biết xem Server MTA có theo chuẩn ESMTP hay không, thay vì dùng lệnh HELLO ở đầu một cuộc giao dịch, Client MTA dùng lệnh mới HELLO, nếu Server MTA có trang bị, nó sẽ trả về mã thành công là 250. Ngày nay chuẩn ESMTP đã thay thế chuẩn SMTP ở đa số các hệ thống. Ví dụ : để khởi động cuộc giao dịch với kích thước mail lên tới 1MB, dòng lệnh sẽ là : MAIL FROM : SIZE=1000000 2.POP3 2.1 Giới thiệu Nghi thức POP3 được cải tiến từ nghi thức POP ( Post Office Protocol ). Trên internet một loại nào đó nhỏ hơn node thường không thực tế để duy trì một hệ thống vận chuyển message (message transport system: MTS), ví dụ như một workstation không có đủ tài nguyên (recycle, disk space) hợp lệ để cho phép một SMTP server và một hệ thống phân phát mail cục bộ kết hợp giữ thường trú và chạy một cách liên tục . Thường thì nó có thể rất đắt (hay không thích hợp) để giữ một personal computer nối với một IP-style netwrork trong một thời gian dài (node đó được biết sẽ thiếu tài nguyên như “connectivity”) . Mặc dù vậy, để có thể quản lý mail rất hữu hiệu trên những node nhỏ hơn này. Và chúng thường hổ trợ một user agent (UA) để giúp đỡ công việc điều khiển mail. Để giải quyết vấn đề một node có thể cung cấp một thực thể MTS đưa ra một maildrop service đến những node được cấp nhỏ hơn này. Post Office Protocol - Version 3 (POP3) được dùng cho phép một workstation truy xuất động đến một maildrop trên một server host. Thường điều đó có nghĩa là POP3 được dùng để chấp nhận một workstation gọi mail được server đang giữ cho nó. Khi một user agent trên một client host mong muốn đưa một message vào trong hệ thống vận chuyển, nó thiết lập một kết nối SMTP đến host chia ca của nó( host chia ca này có thể, hay không cần POP3 server host cho client host đó). 2.2 Thao tác cơ bản Ban đầu server host bắt đầu một POP3 service bằng cách lắng nghe trên TCP port 110. Khi một client host mong muốn dùng POP3 service, nó thiết lập một kết nối TCP với server host đó. Khi kết nối được thiết lập, POP3 server gửi một chào hỏi. Client và server POP3 sau đó trao đổi những lệnh và các trả lời cho đến khi kết nối đó được đóng hay loại bỏ. Lệnh trong POP3 bao gồm một keyword (từ khoá) theo sau có thể là một hay nhiều đối số tất cả các lệnh được kết thúc bởi một cặp CRLF. Các từ khoá và đối số được tách riêng ra bởi một ký tự trắng đơn , từ khoá dài 3 hay 4 ký tự. Mỗi đối số có thể lên đến chiều dài 40 ký tự. Các trả lời trong POP3 bao gồm phần chỉ định trạng thái và một từ khoá có thể theo sau là thông tin thêm vào. Tất cả các trả lời được kết thúc bởi một cặp CRLF. Chỉ có hai loại trả lời là: chỉ định trạng thái khẳng định (“+OK”) và phủ định (“-ERR”) . Trả lời cho các lệnh là trả lời nhiều dòng. Trong trường hợp này, nó cho phép chỉ định một cách rõ ràng, sau khi gửi dòng đầu tiên của câu trả lời và một CRLF, một số dòng thêm vào được gửi đi, mỗi dòng kết thúc bằng một cặp CRLF. Khi tất cả các dòng của trả lời đã được gửi đi bao gồm một số kết thúc hệ bát phân (termination octe) (mã 046 hệ mười, “.” ) và một cặp CRLF. Nếu dòng nào của trả lời nhiều dòng bắt đầu với termination octet dòng đó là "byte-stuffed" bằng cách (pre-pending) treotermina_ tion octe đó của dòng trả lời. Kể từ đây một trả lời nhiều dòng được kết thúc với năm octet "CRLF.CRLF". Khi xem xét một trả lời nhiều dòng client kiểm tra xem nếu dòng đó bắt đầu với termintion octet. Nếu đúng và nếu những octet theo sau khác với CRLF, octet đầu tiên của dòng này (termination octet) được bỏ đi. Nếu đúng và nếu những ký tự kết thúc theo ngay sau nó, thì trả lời từ POP3 server này được kết thúc với một dòng chứa “.CRLF” không được coi là một phần của trả lời nhiều dòng đó. Một POP3 session tiến hành qua một số trạng thái trong thời gian sống của nó. Khi kết nối TCP được mở và một POP3 server gửi một chào hỏi. Hội nghị sẽ đi vào trạng thái AUTHORIZATION (xác nhận). Trong trạng thái này client phải định danh nó đến POP3 server. Khi client định danh thành công, server thu được những tài nguyên kết hợp với client’s maildrop, và hội nghị đi vào trạng thái TRANSACTION (giao dịch). Trong trạng thái này client yêu cầu các hành động trong vai trò của POP3 server khi client phát ra lệnh QUIT, hội nghị đi vào trạng thái UPDATE. Trong trạng thái này giải phóng các tài nguyên thu nhận được trong trạng thái TRANSACTION và say goodbye. Sau đó kết nối TCP đóng lại. Một POP3 server có thể có một timer tự động logout không chủ động. Một timer như vậy phải tồn tại trong khoảng thời gian ít nhất là 10 phút. Trong khoản thời gian nhận các lệnh từ client đủ để reset timer tự động logout đó. Khi timer hết hiệu lực, hội nghị không đi vào trạng thái UPDATE, server sẽ đóng kết nối TCP mà không remove hay gửi một message nào cho client. 2.3 Trạng thái xác nhận (Authorization State) Khi kết nối TCP được mở ra bởi một cleint. POP3 server sẽ xuất ra một dòng chào hỏi nó có thể là một chuổi nào đó được kết thúc bởi CRLF. Chào hỏi đó là một POP3 reply. POP3 server bao giờ cũng sẽ truyền đi một trả lời khẳng định như chào hỏi trên. POP3 session hiện nằm trong trạng thái AUTHORIZATION. Client phải định danh và xác nhận nó với POP3 server. Có hai cơ chế thích hợp để thực hiện. Sự kết hợp lệnh USER và PASS , và lệnh APOP. Để xác nhận dùng sự kết hợp lệnh USER và PASS. Đầu tiên client phải phát một lệnh USER, nếu POP3 server trả lời với một chỉ thị trạng thái khẳng định (“+OK”), thì client có thể phát đi lệnh PASS để hoàn tất sự xác nhận hay lệnh QUIT để kết thúc POP3 session. Nếu POP3 server trả lời với một chỉ thị trạng thái phủ nhận (“-ERR”) cho lệnh USER, thì client có thể phát ra một lệnh xác nhận mới hay có thể phát một lệnh QUIT. Khi client phát ra một lệnh PASS, POP3 server dùng cặp đối số từ lệnh USER và PASS để xác định nếu client sẽ được cho truy xuất đến maildrop thích hợp. Khi POP3 server đã được xác định bằng các lệnh xác nhận, nó cho client truy xuất đến những mailbox thích hợp, sau đó POP3 server thu được một khoá truy xuất loại trừ trên maildrop, vì sự cần thiết để ngăn chặn message bị sửa đổi hay bị loại bỏ trước khi hội nghị đi vào trạng thái UPDATE. Nếu thu nhận khoá thành công POP3 server trả lời với một chỉ định trạng thái khẳng định. Và lúc này hội nghị đi vào trạng thái TRANSACTION mà không có message nào bị đánh dấu để xoá. Nếu maildrop không mở được vì một số lí do nào đó(ví dụ : một khoá không thể nhận được, phía client bị từ chối truy cập tới maldrop thích hợp đó, hay maildrop không được phân tích cú pháp ), POP3 server trả lời với một chỉ định trạng thái phủ định (nếu một khoá được thu nhận nhưng POP3 server dự định trả lời với một chỉ định trạng thái phủ định, POP3 server phải giải phóng khoá trước khi loại bỏ lệnh đó ). Sau khi trả về một chỉ định trạng thái phủ định server phải đóng kết nối, nếu server không đóng kết nối client có thể phát một lệnh xác nhận mới và bắt đầu trở lại, hoặc là client phát ra một lệnh QUIT. Sau khi POP3 server mở được maildrop nó gán một message-number cho mỗi message và biểu thị kích thước của mỗi message trong hệ tám (octet), message đầu tiên trong maildrop được gán message-number “1”, message thứ hai là “2” … Trong các lệnh và các trả lời POP3 tất cả các message-number và kích thước message được trình bày dựa trên hệ 10 (decimal) Đây là những tóm tắt cho ba lệnh POP3 bàn luận ở trên : USER name - Đối số: Một chuổi định danh một mailbox (được yêu cầu), nó chỉ có ý nghĩa với server. - Giới hạn : Chỉ có thể được cho trong trạng thái AUTHORIZATION sau khi POP3 chào hỏi hay sau khi một lệnh USER PASS không thành công . - Câu trả lời có thể : +OK tên mailbox có hiệu lực -ERR không chấp nhận tên mailbox PASS string Đối số: Một password cho mailbox hay server (được yêu cầu) a server/mailbox-specific password (required) Giới hạn : Chỉ có thể dược cho trong trạng thái AUTHORIZATION sau khi một lệnh user thành công. Discussion: (thảo luận) : Kể từ đây lệnh PASS chỉ có một đối số, một POP3 server có thể xử lý khoảng trống trong đối số này như là một phần của password, thay vì là để tách đối số ra . Câu trả lời có thể: +OK khoá maildrop và sẳn sàng -ERR password không hiệu lực -ERR không được phép khoá maildrop QUIT - Đối số: không - Giới hạn: không - Câu trả lời có thể: +OK 2.4 Trạng thái giao dịch Khi client định danh nó đến POP3 server thành công và POP3 server đã khoá và mở maildrop thích hợp, POP3 session bây giờ trong trạng thái TRANSACTION client có thể phát nhiều lần các lệnh POP3 sau đây. Sau mỗi lệnh POP3 server phát ra một câu trả lời. Cuối cùng client phát ra một lệnh QUIT và POP3 session đi vào trạng thái UPDATE . Đây là các lệnh POP3 có hiệu lực trong trạng thái TRANSACTION: STAT - Đối số: không - Giới hạn : Chỉ có thể được cho trong trạng thái TRANSACTION. - Discussion: (thảo luận) : POP3 server phát ra một trả lời khẳng định với một dòng chứa thông tin của maildrop. Dòng này được gọi là một "drop listing" cho maildrop đó. Lưu ý: Việc ngăn cản một cách mạnh mẽ sự thực thi các thông tin phụ cung cấp trong drop listing. Mặt khác điều kiện được bàn luận sau, nó cho phép client phân tích cú pháp các message trong maildrop. Chú ý : Những message được đánh dấu xoá không được đếm trong tổng số - Câu trả lời có thể: +OK nn mm LIST [msg] - Đối số : Một message-number (tuỳ ý) có thể không tham khảo đến một message được đánh dấu xoá. - Giới hạn : Chỉ có thể được cho trong trạng thái transaction. - Discussion: Nếu một đối số được cho và POP3 server phát ra một trả lời khẳng định với một dòng chứa thông tin cho message đó, dòng này được gọi là “scan listing” cho message đó. Lưu ý: Ở đây ngăn cản một cách mạnh mẽ sự thực thi các thông tin phụ cung cấp trong scan listing. Mặt khác, điều kiện được bàn luận sau , nó cho phép client phân tích cú pháp các message trong maildrop. Những message được đánh dấu xoá không được liệt kê . - Câu trả lời có thể: +OK scan listing follows -ERR no such message RETR msg - Đối số : Một message-number (được yêu cầu) nó có thể không tham khảo đến một message được đánh dấu xóa. - Giới hạn : Chỉ được cho trong trạng thái TRASACTION - Discussion : Nếu POP3 server phát ra một trả lời khẳng định, thì trả lời được trao là multi-line. Sau khi khởi tạo +OK , POP3 server gửi một message tương ứng với message-number được cho, một cách cẩn thận để byte-stuff ký tự cuối cùng (như với các trả lời multi-line) . - Câu trả lời có thể: +OK message follows -ERR no such message DELE msg - Đối số : Một message-number (được yêu cầu) có thể không tham khảo đến một message được đánh dấu xoá. - Giới hạn : Chỉ được cho trong trạng thái TRANSACTION . - Discussion : POP3 server đánh dấu xoá message đó. Những tham khảo sau đó đến message-number kết hợp với message đó của một lệnh POP3 sẽ sinh ra lỗi. POP3 server không thật sự xoá message đó cho đến khi POP3 session đi vào trạng thái UPDATE . - Câu trả lời có thể: +OK message deleted -ERR no such message NOOP - Đối số: không - Giới hạn : Chỉ được cho trong trạng thái TRANSACTION - Discussion : POP3 server không làm gì hết , nó chỉ hồi âm với một trả lời khẳng định. - Câu trả lời có thể: +OK RSET - Đối số: không - Giới hạn : Chỉ được cho trong trạng thái TRANSACTION . - Discussion : Nếu một message nào đó đã được đánh dấu xoá bởi POP3 server, chúng được bỏ đánh dấu xoá(unmark ). Sau đó POP3 server hồi âm với một trả lời khẳng định. - Câu trả lời có thể: +OK 2.5 Trạng thái cập nhật Khi client phát ra một lệnh QUIT từ trạng thái TRANSACTION, POP3 session đi vào trạng thái UPDATE (lưu ý rằng nếu client phát ra một lệnh QUIT từ trạng thái AUTHORIZATION, POP3 session kết thúc nhưng không đi vào trạng thái UPDATE). Nếu POP3 session kết thúc vì các lí do khác sau đó một lệnh QUIT được phát ra từ client, POP3 session không đi vào trạng thái UPDATE và PHẢI không remove một message nào từ maildrop đó. QUIT - Đối số: không - Giới hạn: không - Discussion : POP3 server loại bỏ tất cả các mesasage được đánh dấu xóa từ maildrop. Sau đó nó giải phóng các khóa truy cập loại trừ (exclusive-access lock) trên maildrop đó và các reply về phần tình trạng của những thao tác này. Sau đó kết nối TCP được đóng lại. - Câu trả lời có thể:+OK 2.6 Các lệnh POP3 chọn lựa Những lệnh POP3 được nói đến ở trên phải được hổ trợ bởi sự thực thi tối thiểu của POP3 server. Các lệnh POP3 lựa chọn được mô tả sau đây cho phép một POP3 client tự do hơn trong việc điều khiển message, trong khi vẩn giữ một sự thực thi POP3 server đơn giản. Lưu ý: Sổ ghi chép khuyến khích những sự thự thi nhằm hổ trợ cho những lệnh này thay cho việc phát triển tăng thêm drop và scan listings. Thu gọn, triết lý của sổ ghi nhớ là nhằm đặt một sự thông minh trong vai trò của client POP3 và không cho server POP3. TOP msg n - Đối số: Một message-number (được yêu cầu) nó có thể không tham khảo đến một message được đánh dấu xóa, và một non-negative number (được yêu cầu) . - Giới hạn : Chỉ được cho trong trạng thái TRANSACTION - Discussion : Nếu POP3 server phát ra một trả lời khẳng định, thì trả lời được trao là multi-line. Sau khởi tạo +OK , POP3 server gửi header của message đó, dòng trống tách header khỏi body, và sau đó là số dòng chỉ định phần body của message, nên cẩn thận để byte-stuff ký tự cuối cùng (như với tất cả các trả lời muti-line) . Chú ý : Nếu số dòng được yêu cầu bởi POP3 client lớn hơn số dòng trong body thì POP3 server gửi toàn bộ message đó . - Câu trả lời có thể: +OK top of message follows -ERR no such message UIDL [msg] - Đối số: Một message-number (tuỳ ý) nếu một message number được cho, nó có thể không tham khảo đến một message được đánh dấu xoá. - Giới hạn : Chỉ có thể được cho trong trạng thái TRANSACTION . - Discussion : Nếu một đối số được cho và POP3 server phát ra một trả lời khẳng định với một dòng chứa thông tin cho message đó. Dòng này được gọi là một - Câu trả lời có thể +OK unique-id listing follows -ERR no such message APOP name digest - Đối số : Một chuổi định danh một mailbox và một chuổi MD5 digest ( yêu cầu cả hai). - Giới hạn : Chỉ có thể được cho trong trạng thái AUTHORIZATION sau khi POP3 chào hỏi. - Discussion : Thường thì, mỗi POP3 session bắt đầu với một sự trao đổi USER/PASS, nó dẫn đến một password đặc tả server/user-id được gửi lên mạng . Những sự thực thi của POP3 client kết nối đến POP3 server theo một quy tắc cơ bản để kiểm tra mail mới. Hơn nữa khoảng thời gian khởi tạo một POP3 session theo quy tắc là năm phút. Lúc đó khả năng bị đánh cắp password rất lớn. Đòi hỏi phải có một thay đổi trong phương thức xác nhận cung cấp cả sự xác nhận và xem lại sự bảo vệ, nhưng nó không bao gồm việc gửi một passsword không được mã hoá lên mạng. Lệnh APOP cung cấp chức năng này. - Câu trả lời có thể: +OK maildrop locked and ready -ERR permission denied 3.IMAP(RFC2060, RFC2193,…) Internet Message Access Protocol (IMAP) cung cấp lệnh để phần mềm thư điện tử trên máy khách và máy chủ dùng trong trao đổi thông tin phiên bản 4( IMAP4rev1). Đó là phương pháp để người dùng cuối truy cập thông điệp thư điện tử hay bản tin điện tử từ máy chủ về thư trong môi trường cộng tác. Nó cho phép chương trình thư điện tử dùng cho máy khách - như Netscape Mail, Eudora của Qualcomm, Lotus Notes hay Microsoft Outlook - lấy thông điệp từ xa trên máy chủ một cách dễ dàng như trên đĩa cứng cục bộ. IMAP khác với giao thức truy cập thư điện tử Post Office Protocol (POP). POP lưu trữ toàn bộ thông điệp trên máy chủ. Người dùng kết nối bằng đường điện thoại vào máy chủ và POP sẽ đưa các thông điệp vào in-box của người dùng, sau đó xoá thư trên máy chủ. Hai giao thức này đã được dùng từ hơn 10 năm nay. Theo một nhà phân tích thì khác biệt chính giữa POP (phiên bản hiện hành 3.0) và IMAP (phiên bản hiện hành 4.0) là POP3 cho người dùng ít quyền điều khiển hơn trên thông điệp. IMAP4rev1 được kế thừa từ [IMAP2] tuy nhiên trong giao thức IMAP4rev1 không tồn tại các giao thức hay cấu trúc của [IMAP2] nhưng những khuôn dạng dữ liệu vẫn được kế thừa và sử dụng. IMAP4rev1 bao gồm những thao tác tạo ra, xoá, và đổi tên các hòm thư, kiểm tra mail mới, thường xuyên cập nhật lại cờ những mail cũ nhưng thao tác này được trình bày trong RFC822(RFC dùng chuẩn hoá message) và những thao tác này là duy nhất. IMAP là cơ chế cho phép lấy thông tin về thư điện tử của bạn, hay chính các thông điệp từ mail server của môi trường cộng tác. Giao thức thư điện tử này cho phép người dùng kết nối bằng đường điện thoại vào máy chủ Internet từ xa, xem xét phần tiêu đề và người gửi của thư điện tử trước khi tải những thư này về máy chủ của mình. Với IMAP người dùng có thể truy cập các thông điệp như chúng được lưu trữ cục bộ trong khi thực tế lại là thao tác trên máy chủ cách xa hàng ki lô mét. Với khả năng truy cập từ xa này, IMAP dễ được người dùng cộng tác chấp nhận vì họ coi trọng khả năng làm việc lưu động. Một kết nối của IMAP4rev1 được thành lập theo một kết nối Client/Server và sự tương tác trao đổi thông tin hay lấy mail về từ Server của người sử dụng thông qua các lệnh truy suất mà IMAP4rev1 đã định dạng sẵn trong giao thức IMAP. người sử dụng bắt đầu một mã lệnh trong giao thức IMAP theo một quy luật là : đầu mỗi câu lệnh thêm vào các ký tự tượng trưng (nó tượng trưng cho lý lịch hay thứ tự của lệnh…) như khi gởi lệnh Login trong giao thức IMAP phải là 0001 Login Tuyen minhtuyen. 3.1. Một số lệnh của IMAP4: - Những tập lệnh của IMAP4rev1 được định nghĩa trong rfc2060 cũng nhưng quá trình bắt đầu và kết thúc của một phiên làm việc. Vì trong chương trình em chỉ sử dụng một số lệnh cơ bản trong bộ giao thức này, dưới đây là ý nghĩ cũng như cách sử dụng chúng. ¨ CAPABILITY - Arguments: none - Kết quả trả về : OK - capability completed BAD - command unknown or arguments invalid - Đây là lệnh thực hiện trước tiên của bất kỳ một trình mail Client nào muốn lấy mail từ trình chủ bằng giao thức IMAP, mục đích là kiểm tra version giao thức có đáp ứng được yêu cầu không. Version hiện nay đang dùng là IMAP4(IMAP4rev1). ¨ LOGIN - Arguments: [user name] [password ] - Kết quả trả về là: OK - login completed, now in authenticated state NO - login failure: user name or password rejected BAD - command unknown or arguments invalid - Lệnh này để xác nhận người sử dụng có hợp pháp không? Nếu thành công thì người dùng sẽ thực hiện các thao tác lệnh tiếp theo. ¨ CHECK - Arguments: none - Kết quả trả về: OK - check completed BAD - command unknown or arguments invalid - Lệnh này dùng để kiểm tra tại thời điểm này lệnh SELECT đã thực hiện hay chưa, nếu thực hiện rồi trả về OK. ¨ SELECT - Arguments: mailbox name (tên hòm thư) - Kết quả trả về : OK - select completed, now in selected state NO - select failure, now in authenticated state: no such mailbox, can't access mailbox BAD - command unknown or arguments invalid - Lệnh Select dùng để nhận biết được hòm thư có bao nhiêu thư bao gồm thư mới, thư đọc rồi và thư đã xoá. Lệnh này cho phép ta thay đổi thuộc tính của hòm thư cũng như nhưng lá thư mà chúng lưu trữ bởi các lệnh khác trong IMAP. - Trong ví dụ trên chúng ta quan tâm các thông số sau: ü EXISTS : tổng số lá thư mà hòm thư này lưu trữ ví dụ trên là 172 lá thư. ü RECENT : là số lá thư mới trong thời gian gần đây mà người sử dụng chưa đọc ví dụ trên là 1. ü UNSEEN : là tổng số lá thư củ mà người dùng chỉ nhìn thấy nhưng nội dung chưa xem qua. ü UIDVALIDITY : dùng để chỉ định trạng thái của hòm thư đây là một thông số không quan trong.Mổi mail Server sẽ có cách đặc tả thông số này khác nhau tuỳ từng mục đích sử dụng nó của các nhà quản trị mail thông số này liên quan đến lệnh UID. ¨CLOSE - Arguments: none - Kết quả trả về : OK - close completed, now in authenticated state NO - close failure: no mailbox selected BAD - command unknown or arguments invalid - Lệnh này dùng để đóng lệnh SELECT lại hay có thể hiểu loại bỏ lệnh này và không lưu lại các thuộc tính đã thay đổi với hòm thư này. ¨ FETCH - Arguments: message set message data item names - Kết quả: OK - fetch completed NO - fetch error: can't fetch that data BAD - command unknown or arguments invalid - Lệnh dùng để hiển thị nội dung của một lá thư. Thông số theo sau gồm có hai thông số: đầu tiên là số thứ tự của lá thư và thông số thư hai là message data item names nhưng thông số này phải tuân theo RFC822 được trình bày ở trên. ¨ UID - Arguments: là các lệnh trong IMAP - Kết quả trả về: OK - UID command completed NO - UID command error BAD - command unknown or arguments invalid ¨ EXAMINE - Arguments: mailbox name - Kết quản trả về: OK - examine completed, now in selected state NO - examine failure, now in authenticated state: no such mailbox, can't access mailbox BAD - command unknown or arguments invalid - Lệnh này tương tự như lệnh SELECT cùng một kế quả trả về nhưng khi dùng lệnh này chúng ta chỉ xem thông tin không thay đổi được trạng thái của hòm thư cũng như các thuộc tính của nó. ¨ CREATE - Arguments: tên hòm thư cần tạo. - Kết quả trả về:OK - create completed NO - create failure: can't create mailbox with that name BAD - command unknown or arguments invalid - Lênh tạo ra một hòm thư mới với tên đã chọn và trả lại là OK nếu quá trình tạo ra hòm thư trên Server không gặp lỗi. ¨ DELETE - Arguments: tên hòm thư cần xoá. - Kết quả trả về:OK - delete completed NO - delete failure: can't delete mailbox with that name BAD - command unknown or arguments invalid - Lệnh xoá hòm thư, nếu xoá thành công thì kết quả nhận được là OK. ¨ RENAME - Arguments: (tên hòm thư tồn tại) (tên hòm thư mới). - Kết quả: OK - rename completed NO - rename failure: can't rename mailbox with that name, can't rename to mailbox with that name BAD - command unknown or arguments invalid - Lệnh chuyển đổi tên hòm thư, kết quả là OK nếu thành công. ¨ COPY - Arguments: tên lá thư đến tên hòm thư - Kết quả trả về:OK - copy completed NO - copy error: can't copy those messages or to that name BAD - command unknown or arguments invalid - Đây là lệnh copy một lá thư từ hòm thư này sang hòm thư khác. ¨ SUBSCRIBE - Arguments: tên hòm thư - Kết quả trả về: OK - subscribe completed NO - subscribe failure: can't subscribe to that name BAD - command unknown or arguments invalid - Lệnh dùng để thiết lập thuộc tính active của hòm thư,tuy nhiên nó không thể thay đổi được đặc tính hòm thư hay nói cách khác nó dùng để kiểm tra xem hòm thư này có tồn tại hay không ¨ UNSUBSCRIBE - Arguments: tên hòm thư - Kết quả trả về:OK - unsubscribe completed NO - unsubscribe failure: can't unsubscribe that name BAD - command unknown or arguments invalid - Lệnh này ngược lại với SUBSCRIBE nghĩa là nó loại bỏ thuộc tính active của hòm thư. ¨ LIST - Arguments: tên hay những ký tự đặc trưng. - Kết quả trả về:OK - list completed NO - list failure: can't list that reference or name BAD - command unknown or arguments invalid - Nếu tên hay những ký tự theo sau hợp lệ thì lệnh này trả về tập tên các hòm thư, thường tên hay ký tự theo sau là “% ,*, “”, /, String*,”. Chúng ta tạm hiểu nó như một lệnh Dir trong MS-DOS. ¨ LUSB - Arguments: tên hay những ký tự đặc trưng. - Kết quả trả về: OK - list completed NO - list failure: can't list that reference or name BAD - command unknown or arguments invalid Lệnh này tương tự như list nhưng chỉ khác một điều là nhưng hòm thư nhận được phải ở trạng thái active. ¨ STATUS - Arguments: tên hòm thư (trạng thái) - Kết quả trả về:OK - status completed NO - status failure: no status for that name BAD - command unknown or arguments invalid - Lệnh này trả về trạng thái hiện tại của hòm thư, nó không làm ảnh hưởng đến sự chuyển đổi của hòm thư cũng như các trạng thái của các lá thư. Trạng thái theo sao hiện nay trong IMAP4rev1 như sau.chức năng của lệnh này dùng để check mail. ü MESSAGES : số thư mới trong hòm thư ü RECENT : số lá thơ củ. ü UIDNEXT : giá trị UID tiếp theo sẽ được gán cho một lá thư mới trong hòm thư ü UIDVALIDITY : giá trị UID của hòm thư. ü UNSEEN : nhưng lá thư của mà người dùng chưa xem nội dung. ¨ NOOP - Arguments: none - Kết quả trả về: OK - noop completed BAD - command unknown or arguments invalid - Lệnh này thực chất không làm gì cả mà mục

Các file đính kèm theo tài liệu này:

  • docxTìm hiểu các giao thức dùng cho email Triển khai 1 hệ thống mail cho doanh nghiệp với cơ chế bảo mật dùng Exchange server 2010.docx