HO TẠ ĐỘNG CA CHỦ ƯƠNG TRÌNH POP3CLIENT:

Một phần của tài liệu tìm hiểu về các web server thông dụng (Trang 94 - 97)

L uư đồ ổt ng quát: OGIN

HO TẠ ĐỘNG CA CHỦ ƯƠNG TRÌNH POP3CLIENT:

Ch ng trình Pop3 Client đ c th c thi đ u tiên khi cĩ k t n i v i Server Mailươ ượ ự ầ ế ố ớ c a nhà cung c p d ch v . Khi đ c th c thi, đ u tiên, nĩ s l y các thơng tin nh : Tên máyủ ấ ị ụ ượ ự ầ ẽ ấ ư ho c đ a ch IP Server Mail c a nhà cung c p d ch v , đây chính là Server g i Mail,ặ ị ỉ ủ ấ ị ụ ở

usernamepassword dùng đ login vào Mailbox trên máy Server nh n Mail, h p th Inboxể ậ ộ ư trên máy c c b dùng đ l u gi các th đ c nh n v , s l n k t n i l i n u ch ng trìnhụ ộ ể ư ữ ư ượ ậ ề ố ầ ế ố ạ ế ươ đang nh n mà b ng t gi a ch ng, và th i gian timeout trong tr ng h p Server khơngậ ị ắ ữ ừ ờ ườ ợ tr l i.ả ờ

K ti p, ch ng trình s kh i t o các signal dùng đ x lý các bi n c cĩ th x y raế ế ươ ẽ ở ạ ể ử ế ố ể ả trong quá trình nh n Mail, ví d : đ ng truy n b ng t, timeout,…. N u các bi n c nàyậ ụ ườ ề ị ắ ế ế ố x y ra thì quá trình s g i các hàm cài đ t s n đi kèm v i bi n c đ x lý.ả ẽ ọ ặ ẳ ớ ế ố ể ử

Ti p theo, ch ng trình s th c hi n vi c ki m tra l i xem ế ươ ẽ ự ệ ệ ể ạ username

password dùng đ đ ng nh p vào Mailbox c a Server Mail đã cĩ trong c u trúcể ă ậ ủ ấ POP3_SERVER ch a, n u đã cĩ thì ch ng trình s dùng ư ế ươ ẽ usernamepassword này đ th cể ự hi n quá trình login vào Mailbox c a Server, n u ch a cĩ thì s hi n th yêu c u nh p vàoệ ủ ế ư ẽ ể ị ầ ậ

usernamepassword đ th c hi n quá trình login.ể ự ệ

Sau đĩ, Pop3Client s m m t socket đ th c hi n m t k t n i t i Server nh nẽ ở ộ ể ự ệ ộ ế ố ớ ậ Mail, mà tên ho c đ a ch IP c a computer mà ch ng trình Pop3Server đang ch y đ cặ ị ỉ ủ ươ ạ ượ l u gi trong tr ng host c a c u trúc POP3_SERVER. N u là tên, ch ng trình s th cư ữ ườ ủ ấ ế ươ ẽ ự hi n vi c chuy n đ i sang đ a ch IP đ th c hi n k t n i.ệ ệ ể ổ ị ỉ ể ự ệ ế ố

N u k t n i th c hi n thành cơng, Pop3 Client s nh n đ c m t l i chào đ cế ế ố ự ệ ẽ ậ ượ ộ ờ ượ g i t i b i Pop3 Server và session s b c vào quá trình AUTHORIZATION. Lúc này,ở ớ ở ẽ ướ Pop3Client s g iẽ ở usernamepassword t i cho Pop3Server ki m tra.ớ ể

N u quá trình AUTHORIZATION th c hi n thành cơng, session s b c vào quáế ự ệ ẽ ướ trình TRANSACTION, n u khơng thành cơng, Pop3Server s g i thơng báo l i l i choế ẽ ở ỗ ạ Pop3Client. Lúc này, Pop3Client cĩ th th c hi n vi c đ ng nh p l i v i ể ự ệ ệ ă ậ ạ ớ username

password khác ho c cĩ th g i l nh “QUIT” đ thốt.ặ ể ở ệ ể

B c vào quá trình TRANSATION, đ u tiên Pop3 Client s g i l nh “STAT” t iướ ầ ẽ ở ệ ớ server đ ki m tra xem cĩ mail trong mailbox hay khơng. N u cĩ, server s tr v t ngể ể ế ẽ ả ề ổ s th hi n cĩ trong mailbox và kích th c c a mailbox. Ti p đĩ, Pop3Client s g i l nhố ư ệ ướ ủ ế ẽ ở ệ “LIST” đ l y kích th c c a t ng message.ể ấ ướ ủ ừ

Sau khi cĩ đ c t ng s message cĩ trong mailbox, Pop3 Client s b c vào vịngượ ổ ố ẽ ướ l p dùng đ nh n mail, v i m i b c c a vịng l p s th c hi n m t l nh “RETR” v iặ ể ậ ớ ỗ ướ ủ ặ ẽ ự ệ ộ ệ ớ s th t t ng ng v i ch s c a vịng l p dùng đ nh n message t ng ng.ố ứ ự ươ ứ ớ ỉ ố ủ ặ ể ậ ươ ứ

Sau khi nh n xong message, Pop3Client s g i l nh “DELE i” t i server đ xĩaậ ẽ ở ệ ớ ể message này.

Sau khi l y h t các message cĩ trong mailbox c a server, Pop3Client s g i l nhấ ế ủ ẽ ở ệ “QUIT” t i server đ yêu c u server chuy n Pop session sang tr ng thái Update và thốt.ớ ể ầ ể ạ

i v i Server, khi b c vào tr ng thái UPDATE, nĩ s xĩa th t s các message đã

Đố ớ ướ ạ ẽ ậ ự

đ c đánh d u xĩa trong Mailbox vào đĩng k t n i. N u m t k t n i đã đĩng l i mà Serverượ ấ ế ố ế ộ ế ố ạ khơng b c vào tr ng thái UPDATE thì các message đ c đánh d u xĩa s khơng đ c xĩaướ ạ ượ ấ ẽ ượ trong Mailbox mà nĩ s tr l i tr ng thái ban đ u.ẽ ở ạ ạ ầ

Yes Yes Yes T o socketạ Connect server t i port 110ạ G i l nhở ệ USER username \r\n Response = +OK G i l nhở ệ PASS password \r\n Response = +OK G i l nhở ệ PASS password \r\n G i l nhở ệ STAT \r\n Response = +OK 1 Báo l iỗ No No No No L u ư Đồ Cho Getmail

Một phần của tài liệu tìm hiểu về các web server thông dụng (Trang 94 - 97)

Tải bản đầy đủ (DOC)

(99 trang)
w