Các lệnh của POP3:

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp Tổng quan về mạng và các dịch vụ thông dụng trên Internet doc (Trang 50 - 53)

I Các khái niệm cơ bản

2.Các lệnh của POP3:

a. Các lệnh có tác dụng trong quá trình xác nhận (authorization):

USER username:

+ Đối số username là một chuỗi định danh một mailbox, chỉ có ý nghĩa đối với server.

+ Trả lời: +OK tên mailbox có hiệu lực. -ERR không chấp nhận tên mailbox.

PASS string:

+ Đối số là một password cho mailbox hay server. + Trả lời: +OK khoá maildrop và sẵn sàng.

-ERR password không hiệu lực.

-ERR không được phép khoá maildrop.

b. Các lệnh có tác dụng trong quá trình giao dịch (transaction):

STAT:

+ Trả lời: +OK nn mm. “+OK” theo sau là khoảng trắng đơn, tiếp theo là nn: số message, khoảng trắng đơn, mm: kích thước của maildrop tính theo byte.

+ Các message được đánh dấu xoá không được đếm trong tổng số.

LIST [msg]:

+ Đối số: số thứ tự của message, có thể không tham khảo tới các message đã được đánh dấu xoá.

+ Trả lời: +OK scan listing follow. -ERR nosuch message.

Một scan listing bao gồm số thứ tự message (message number) của message đó, theo sau là khoảng trắng đơn, và kích thước chính xác của message đó tính theo byte.

RETR msg:

+ Đối số: số thứ tự của message, có thể không tham khảo tới các message đã được đánh dấu xoá.

+ Trả lời: +OK message follows -ERR no such message

Trả lời của lệnh RETR là multi-line.

DELE msg:

+ Đối số: số thứ tự của message, có thể không tham khảo tới các message đã được đánh dấu xoá.

+ Trả lời: +OK message deleted -ERR no such message

Pop3 server sẽ đánh dấu xoá các message này. Tuy nhiên, quá trình xoá thật sự sẽ diễn ra ở trạng thái cập nhật (Update).

NOOP:

+ Không có đối số. + Trả lời: +OK

Pop3 server không làm gì hết, chỉ hồi âm lại cho client với trả lời: “+OK”.

RSET:

+ Không có đối số. + Trả lời: +OK.

Phục hồi lại các message đã bị đánh dấu xoá bởi Pop3 server.

QUIT: (adsbygoogle = window.adsbygoogle || []).push({});

+ Không có đối số. + Trả lời: +OK.

3. Ví dụ về một session của Pop3:

Giai đoạn 1 : Nhận dạng user

CLIENT : USER Tuyentm // cho biết tên user là Tuyentm SERVER : +OK // báo thành công

CLIENT : PASS kimphung // cho biết password là tin

SERVER : +OK complet: maildrop has 2 messages ( 520 octets…)

Giai đoạn 2 : Trao đổi

CLIENT : STAT // số mail có trong mailbox

CLIENT : LIST // Liệt kê các ID và kích thước các mail SERVER : +OK 2 message ( 520 octets )

SERVER : 1 110 // mail thứ 1 kích thước 110 SERVER : 2 410 // mail thứ 2 kích thước 410 CLIENT : LIST 1 // Cho thông tin về mail có ID là 1 SERVER : +OK 1 110

CLIENT : LIST 4

SERVER : -ERR nosuch message, only 2 message in maildrop ….v…v…

Giai đoạn 3 :

CLIENT : QUIT ; đóng kết nối TCP hiện hành SERVER : +OK dhbk POP3 server signing off…

Chú ý rằng các message bị đánh dấu để xoá bằng lệnh DELE thực sự chưa bị xoá ngay để nếu sau đó ta có thể dùng lệnh phục hồi không xoá bằng lệnh RSET, chúng chỉ thực sự bị xoá bỏ khỏi maildrop khi bước vào giai đoạn Update ( khi gởi lệnh QUIT).

V. GIAO THỨC IMAP4(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.

1. Các lnh ca 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).

Ví dụ C: abcd CAPABILITY (adsbygoogle = window.adsbygoogle || []).push({});

S: * CAPABILITY IMAP4rev1

S: abcd OK CAPABILITY completed

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. Ví dụ C: a001 LOGIN tuyentm01 kimphung

S: a001 OK LOGIN completed

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

Một phần của tài liệu Tài liệu Đồ án tốt nghiệp Tổng quan về mạng và các dịch vụ thông dụng trên Internet doc (Trang 50 - 53)