ĐỒ ÁN: Dịch vụ thư tín điện tử và cài đặt một chương trình mang tính thử nghiệm do dịch vụ thư tín điện tử [Year ] [Pick the date] LỜI CẢM ƠN Trước hết tôi xin chân thành cảm ơn các thầy cô giáo khoa Đại học Đại Cương của trường Đại học Thuỷ Sản Nha Trang và khoa Công Nghệ Thông Tin trường Đại học Bách Khoa Hà Nội đã trang bị cho tôi những kiến thức cơ bản cần thiết trong những năm học vừa qua để tôi có thể thực hiện tốt cuốn đồ án này. Em xin chân thành cảm ơn thầy Văn Thế Minh đã tận tình giúp đỡ và hướng dẫn em hoàn tất cuốn đồ án này. Ngoài ra tôi cũng xin cảm ơn tất cả bạn bè đã giúp đỡ tôi trong suốt quá trình thực hiện đồ án. Mặc dù đã rất cố gắng, nhưng trong khoảng thời gian cho phép cũng như những hạn chế về kiến thức nên cuốn đồ án này của tôi không thể tránh khỏi những thiếu sót. Chính vì vậy, tôi rất mong nhận được sự góp ý của các thầy cô giáo cũng như bạn bè gần xa và những cá nhân hay tổ chức có quan tâm đến lĩnh vực được trình bày trong cuốn đồ án này. MỤC LỤC PHẦN 1 : CƠ SỞ LÝ THUYẾT 9 CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ INTERNET VÀ MỘT SỐ GIAO THỨC TRUYỀN THÔNG TRÊN INTERNET 9 1.1. GIỚI THIỆU CHUNG VỀ INTERNET 9 1.2. HỌ GIAO THỨC TCP/IP 10 1.3. GIAO THỨC LIÊN MẠNG IP 11 1.4. GIAO THỨC ĐIỀU KHIỂN TRUYỀN TCP 20 CHƯƠNG 2 : CƠ SỞ VỀ LẬP TRÌNH MẠNG TRN MƠ HÌNH CLIENT/SERVER 23 2.1. LẬP TRÌNH GIAO TIẾP MẠNG VỚI WINDOWS SOCKETS 23 2.2. MỘT SỐ KHÁI NIỆM CƠ BẢN 23 2.2.1.Địa chỉ Internet 23 2.2.2. Khái niệm socket và port 24 2.3. CÁCH CÀI ĐẶT ỨNG DỤNG CLIENT/SERVER TCP 24 2.3.1. Cách cài đặt server TCP 24 2.3.2. Cách cài đặt client TCP 25 CHƯƠNG 3 : MỘT SỐ KHÁI NIỆM LIÊN QUAN ĐẾN THƯ ĐIỆN TỬ 26 1.1. MAILSERVER 26 1.2. GIAO THỨC GỬI MAIL (MAIL TRANSPORT PROTOCOL) 27 1.3.GIỚI THIỆU KIẾN TRÚC DỊCH VỤ THƯ ĐIỆN TỬ 27 1.3.1. Kin trĩc vµ c¸c dÞch vơ 27 1.3.2. T¸c nh©n ngi sư dơng (The User Agent) 30 1.3.2.1.Gửi thư (Sending Email) 30 1.3.2.2. Đọc thư (Reading Email) 31 1.3.2.3.Định dạng thông điệp (Message Formats) 33 1.3.2.4.Chuẩn RFC 822 33 1.4.PHÂN TÍCH CẤU TRÚC THƯ ĐIỆN TỬ, CÁC GIAO THỨC SMTP VÀ POP3 37 1.4.1.Phân tích cấu trúc thư điện tử (RFC 822) 37 1.4.1.1. Giới thiu 37 1.4.1.2. Mụ t v cu trỳc th 38 1.4.2. Định ngha v các trng Header 39 1.4.3. Các trng header đin hình 40 1.4.4. Ví d v cu trc th 42 1.5. PHN TCH GIAO THC SMTP (RFC 821) 43 1.5.1. Giới thiu chung 43 1.5.2. Mô hình hoạt đng phiên giao dịch 43 1.5.3. Th tc Mail 45 1.5.4. Th tc Forwarding 49 1.5.5. Các th tc Mailing và Sending 50 1.5.6. Các th tc Opening và Closing 52 1.5.7. Mã trả li ca các câu lnh SMTP 53 1.6. PHN TCH GIAO THC POP3 (RFC 1081,1082) 55 1.6.1. Giới thiu 55 1.6.2. Mô hình hoạt đng phiên giao dịch 55 1.6.3. Trạng thái AUTHORIZATION 57 1.6.4. Trạng thái TRANSACTION 60 1.6.5. Trạng thái UPDATE 66 1.6.6. Ví d v mt phiên giao dịch POP3 67 1.7. MIME (MULTIPURPOSE INTERNET MAIL EXTENSIONS) 69 1.8.POP BEFORE SMTP(CHỨNG THỰC QUYỀN TRUY CẬP THEO GIAO THỨC POP TRƯỚC KHI SỬ DỤNG SMTP) 72 1.9.MAIL CLIENT, WEB MAIL 73 CHƯƠNG 4 : GIỚI THIỆU VỀ CÁC CÔNG NGHỆ LIÊN QUAN 73 2.1.GIỚI THIỆU VỀ JRUN WEBSERVER 3.1 73 2.2.GIỚI THIỆU VỀ SQL SERVER 7.0 74 2.2.1. Lý thuyết hệ quản trị cơ sở dữ liệu sql server 7.0 và Cấu trúc cơ sở dữ liệu của sql server 7.0 74 2.2.2. Cấu trúc cơ sở dữ liệu vật lý: 75 2.2.2.1. Trang (page): 75 2.2.2.2 .Extent: 76 2.2.2.3 Những loại file trong CSDL:SQL Server có 3 loại file: 76 2.3. LÝ THUYẾT MƠ HÌNH QUAN HỆ 77 2. 3.1. Các khái niệm cơ bản 77 2.3.2. Khái Niệm phụ thuộc dữ liệu và các dạng chuẩn 77 2.3.3 Khái niệm chỉ dẫn và khóa chỉ dẫn 78 2.4.GIỚI THIỆU VỀ JAVA SERVLET 78 2.4.1.Khái niệm về JAVA SERVLET 78 2.4.2.Những ứng dụng thực tế của JAVA SERVLET và kiến trúc của JAVA SERVLET 79 2.5.GIỚI THIỆU VỀ JAVA SERVER PAGES(JSP) 79 2.5.1.Khái niệm về JSP 79 2.5.2.Quan hệ giữa Servlet và JSP 80 2.5.2.1.Cch trình chủ biên dịch trang JSP thành servlet 80 2.5.2.2. So sánh giữa Servlet và JSP 80 2.6. GIỚI THIỆU VỀ JAVABEANS 81 2.6.1.Khái niệm về JAVABEANS 81 2.6.2.Các thẻ chuẩn của JAVABEANS trong trang JSP 82 2.6.2.1.<jsp:useBean> 82 2.6.2.2.<jsp:setProperty> 83 2.6.2.3. <jsp:getProperty> 84 2.6.3.Thêm JAVABEANS vào JSP 84 PHẦN 2 : XÂY DỰNG ỨNG DỤNG 85 CHƯƠNG 1 PHÂN TÍCH BÀI TOÁN 85 1.1.TÊN ĐỀ TÀI 85 1.2.DỀ CƯƠNG CHI TIẾT 86 1.2.1.Khảo sát 86 1.2.2.Yêu cầu của bài toán 86 1.2.3.Dữ liệu vào, dữ liệu ra và các chức năng xử lý của hệ thống 87 1.2.4. Chức năng của hệ thống thông tin quản lý 87 1.3. LÝ DO CHỌN ĐỀ TÀI 88 CHƯƠNG 2 : THIẾT KẾ VÀ CÀI ĐẶT ỨNG DỤNG 88 2.1.PHÂN TÍCH VÀ THẾT KẾ CƠ SỞ DỮ LIỆU 88 2.1.1.Phân tích 88 2.1.2. Giải thích các chức năng của hệ thống 90 2.1.3.biểu đồ luồng dữ liệu( DFD – Data flow Diagram) 91 2.1.4. THIẾT KẾ HỆ THỐNG 91 2.1.4.1. Các bảng dữ liệu chính 91 2.2. CÀI ĐẶT MAILSERVER 94 2.2.1.Phương án tổ chức lưu trữ mail trên Server 94 2.2.2.Các đơn thể của mailserver 95 2.2.2.1. Xây dựng SMTP Server 95 2.2.2.2. Xây dựng POP3 Server 118 2.3.CÀI ĐẶT MAILCLIENT 143 Một số giao diện chính 149 LỜI NÓI ĐẦU Ngày nay với sự phát triển mạnh mẽ của tin học và công nghệ Internet, hầu như mọi người đều thấy rõ lợi ích mà các dịch vụ do mạng Internet mang lại. Dịch vụ thư điện tử gọi tắt là Email là một trong nhưng dịch vụ được sử dụng nhiều nhất trên Internet hiện nay. Dịch vụ này cho phép các cá nhân hay tổ chức trao đổi thư với nhau thông qua mạng Internet. Nhiều người sử dụng Internet chỉ để dùng dịch vụ này. Thông thường, khi sử dụng dịch vụ thư tín điện tử, người sử dụng thường ít khi quan tâm xem hệ thống bên trong đã thực hiện như thế nào. Vì vậy, họ ( người sử dụng) mới chỉ thấy được một nửa của ứng dụng dịch vụ Email và phần ứng dụng đó được gọi là Mail Client, hay là sử dụng dịch vụ thư tín máy trạm. Nhằm mục đích hiểu rõ hơn về hoạt động bên trong của ứng dụng Email ở phần cung cấp dịch vụ mà thường được gọi là Mail Server, trong cuốn đồ án này tôi xin trình bày một cách cơ bản hệ thống phục vụ việc truyền thư tín điện tử trên cơ sở tìm hiểu về các mô hình truyền thông thư tín, các giao thức truyền thông chuẩn, các hoạt động của một hệ Mail Server. Vì thời gian có hạn và có rất nhiều các vấn đề có liên quan, do đó đồ án này chỉ trình bày những vấn đề cơ bản nhất về dịch vụ thư tín điện tử và cài đặt một chương trình mang tính thử nghiệm do dịch vụ thư tín điện tử mà thôi. PHN 1 : C S Lí THUYT CHNG 1 : GII THIU CHUNG V INTERNET V MT S GIAO THC TRUYN THễNG TRấN INTERNET 1.1. GII THIU CHUNG V INTERNET Mạng Internet là mt tp hp gm hàng vạn h mạng trên khắp th giới, đc phát trin vào thp k bảy mơi. S lng máy tính ni mạng và s lng ngi truy cp vào mạng Internet trên toàn th giới đang ngày càng tăng lên nhanh chng, đc bit t năm 1993 tr đi. Mạng Internet không ch cho phép chuyn tải thông tin nhanh chng mà còn gip cung cp thông tin, n cng là din đàn và là th vin toàn cầu đầu tiên. Mạng Internet c xut x năm 1969 t mạng máy tính toàn cc ARPANET do cơ quan quản lý các d án nghiên cu các công trình nghiên cu khoa hc tiên tin thuc B Quc phòng M (US Defenses Advance Research Projects Agency gi tắt là DARPA) tài tr. T giữa năm 1970, trung tâm DARPA hớng tới mạng Internet với k thut chuyn mạch gi qua mạng vô tuyn và thông tin v tinh. Năm 1980, DARPA th nghim dng giao thc TCP/IP và đã đc các trng đại hc M ghép ni với h điu hành UNIX BSD (Berkely Software Distribution). H điu hành UNIX là h phát trin mạnh với rt nhiu công c hỗ tr và đảm bảo các phần mm ng dng c th chuyn qua lại trên các h máy khác nhau (máy mini, máy tính lớn và hin nay là máy vi tính). Bên cạnh đ h điu hành UNIX BSD còn cung cp nhiu th tc Internet cơ bản, đa ra khái nim Socket và cho phép chơng trình ng dng thâm nhp vào Internet mt cách d dàng. Cu trc mạng Internet gm c: Tầng ng dng: TELNET, FTP, SMTP; Tầng giao vn: TCP, UDP; Tầng Internet: Internet Protocol; Tầng mạng: X.25, Ethernet, FDDI. . .; Tầng vt lý: là các môi trng truyn tin khác nhau. 1.2. H GIAO THC TCP/IP TCP/IP là h ca các giao thc đc s dng cho vic truyn thông máy tính. Các chữ cái đc vit tắt bi các t (Transmission Control Protocol/Internet Protocol), hai giao thc này c cách biu din khác nhau, ngi ta ít khi s dng với cái tên đầy đ ca hai giao thc này. Thng các giao thc đc nhm lại thành các h (đôi khi còn đc gi là các suites hay các stacks). Các giao thc nào đc nhm lại với nhau thng đc xác định bi các b cài đt ca giao thc. H giao thc TCP/IP bao gm các giao thc nh là IP (Internet Protocol) , ARP (Address Resolution Protocol), ICMP (Internet Control Message Protocol), UDP (User Datagram Protocol), TCP (Transport Control Protocol), RIP (Routing Information Protocol), Telnet, SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System) và mt s các giao thc khác. Hình bên dới mô tả kin trc ca mạng TCP/IP c so sánh với mô hình tham chiu OSI đ chng ta hình dung đc s tơng ng v chc năng ca các tầng. [...]... Windows NT cho phép ngưi lp trình phát trin các ng dng khai thác k thut TCP/IP thông qua mt thư vin tên là Windows Sockets C ba lý do chính đ ngưi lp trình s dng k thut TCP/IP: C th vit các ng dng trên Windows NT đ ni vào mạng UNIX và khai thác các dịch v c sẵn trên đ Tạo ra các dịch v trên máy Windows NT đ các máy UNIX c th khai thác những dịch v này Vit các chương trình cho phép các máy Windows... Gizmo (b) Phong thư và thông đip (a) Thư bưu đin (b) Thư đin Các đc tính nâng cao khác là đng gi (carbon copies), thư c mc ưu tiên cao (highưpriority email), bảo mt thư (secret email) c ngha là thông đip đưc mã ha trước khi gi đi, thay đi ngưi nhn thư (alternative recipients) nu ngưi đầu tiên không c khả năng nhn đưc, và các khả năng cho các cô thư ký vn dng thư ca các ông ch ca mình Hin nay thư đin t đưc... cầu ca ngưi s dng Thêm vào đ các dịch v này, hầu ht các h thng thư đin t cung cp nhiu đc tính nâng cao khác nhau Mt s đc tính tiêu biu như, khi ngưi ta mun chuyn thư hay khi h ngh xa hơn v các chi tit v thi gian , c l h mun thư ca h đưc chuyn tip, chính vì th mà h thng thc hin điu này mt cách t đng Hầu ht các h thng cho phép ngưi s dng tạo các hp thư (mailboxes) đ lưu trữ các thư chuyn đn (incoming... User Agent) Các h thng thư đin t c hai phần cơ bản, như chng ta đã thy gm: phần UA và phần MTA Trong phần này chng ta s xét đn phần UA Mt UA thưng là mt chương trình (đôi khi đưc gi là b phn đc thư) n nhn mt trong những lnh khác nhau như là cho mc đích soạn thư, nhn thư, và hi đáp các thông đip, cng như vic thao tác trên các hp thư (mailboxes) Mt s UA (User Agent) c giao din trình đơn (menu) hay biu... WINDOWS SOCKETS Windows NT là mt h điu hành mạnh, cho phép tn dng ti đa khả năng ca máy tính loại 32 bit, cung ng hàng loạt các dịch v mạng trên môi trưng Intranet và Internet Hin nay Windows NT đưc s dng tương đi ph bin các cơ quan; doanh nghip Vit Nam Giao thc truyn thông TCP/IP đã đưc dng bi h điu hành UNIX và mạng Internet, đ các máy trên mạng NT c th giao tip với các máy trên mạng khác, Windows... DCH V TH IN T 1.3.1 Kin trc và các dịch v Các h thng thư đin t thưng bao gm hai h thng con: các tác nhân ngưi s dng (the user agents ư gi tắt là UA), n cho phép chng ta đc và gi thư, và các tác nhân truyn thông đip (the message transfer agents ư gi tắt là MTA), n làm nhim v chuyn các thông đip t ngun đn đích Các UAs là các chương trình cc b hỗ tr da trên điu khin bằng lnh, trình đơn menu hay dng phương... thng thư đin t Các MTAs là các trình tin ích hoạt đng ch đ nn (background) thc hin các nhim v cần thit như tip nhn thư đin t và chuyn thư qua các h thng Đc bit, các h thng thư đin t hỗ tr năm chc năng cơ bản, đưc mô tả dưới đây: 1 Composition: X lý vic tạo các thông đip và trả li Cho phép bt c trình soạn thảo nào c th đưc s dng cho phần thân ca thông đip, các h thng c th t n đảm trách vic đánh địa ch và. .. th đưc biu thị dưới dạng thp phân, bát phân, thp lc phân hoc nhị phân Cách vit ph bin nht là dng ký pháp thp phân c du chm (dotted decimal notation) đ tách các vng Mc đích ca địa ch IP là đ định danh duy nht cho mt host bt k trên liên mạng Do t chc và đ lớn ca các mạng con (subnet) ca liên mạng c th khác nhau, ngưi ta chia các địa ch IP thành 5 lớp, ký hiu là A, B, C, D và E, với cu trc đưc ch ra trong... tính và các thao tác đc/ghi chính là s trao đi dữ liu giữa các ng dng trên nhiu máy khác nhau Trong giao thc truyn thông TCP, mỗi mi ni giữa hai máy tính đưc xác định bi mt port, khái nim port đây không phải là mt cng giao tip trên thit bị vt lý mà ch là mt khái nim logic trong cách nhìn ca ngưi lp trình, mỗi port đưc tương ng với mt s nguyên dương Hình bên dưới minh ha cách giao tip giữa hai máy tính. .. (incoming email) Các lnh đưc ngưi ta yêu cầu tạo và hy b các hp thư, kim tra các ni dung hp thư, chèn và xa các thông đip khi hp thư, v v Những ngưi giám đc công ty thưng cần gi mt thông đip đn mỗi ngưi trong s những ngưi cp dưới, những khách hàng, hay đn các nhà cung cp Thì điu này đưa ra mt ý tưng v danh sách thư (mailing list), n là mt danh sách các địa ch thư đin t Khi mt thông đip đưc gi đn mailing . ĐỒ ÁN: Dịch vụ thư tín điện tử và cài đặt một chương trình mang tính thử nghiệm do dịch vụ thư tín điện tử [Year ] [Pick the date] LỜI CẢM. này chỉ trình bày những vấn đề cơ bản nhất về dịch vụ thư tín điện tử và cài đặt một chương trình mang tính thử nghiệm do dịch vụ thư tín điện tử mà thôi. PHN 1 : C S Lí THUYT CHNG. ra và các chức năng xử lý của hệ thống 87 1.2.4. Chức năng của hệ thống thông tin quản lý 87 1.3. LÝ DO CHỌN ĐỀ TÀI 88 CHƯƠNG 2 : THIẾT KẾ VÀ CÀI ĐẶT ỨNG DỤNG 88 2.1.PHÂN TÍCH VÀ THẾT KẾ