Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Đề tài xây dựng ứng dụng webmail
PREMIUM
Số trang
145
Kích thước
889.5 KB
Định dạng
PDF
Lượt xem
1225

Đề tài xây dựng ứng dụng webmail

Nội dung xem thử

Mô tả chi tiết

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 1

Đề tài:

“Xây dựng ứng dụng Webmail”

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 2

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

.............................................................................................................................. 10

1.1. GIỚI THIỆU CHUNG VỀ INTERNET..................................................... 10

1.2. HỌ GIAO THỨC TCP/IP........................................................................... 11

1.3. GIAO THỨC LIÊN MẠNG IP ................................................................... 12

1.4. GIAO THỨC ĐIỀU KHIỂN TRUYỀN TCP ............................................. 19

CHƯƠNG 2 : CƠ SỞ VỀ LẬP TRÌNH MẠNG TRÊN MÔ

HÌNH CLIENT/SERVER......................................................................... 21

2.1. LẬP TRÌNH GIAO TIẾP MẠNG VỚI WINDOWS SOCKETS................. 21

2.2. MỘT SỐ KHÁI NIỆM CƠ BẢN................................................................ 22

2.2.1.Địa chỉ Internet ................................................................................... 22

2.2.2. Khái niệm socket và port.................................................................. 22

2.3. CÁCH CÀI ĐẶT ỨNG DỤNG CLIENT/SERVER TCP........................... 23

2.3.1. Cách cài đặt server TCP ................................................................... 24

2.3.2. Cách cài đặt client TCP ................................................................... 24

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)................. 26

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 3

1.3.GIỚI THIỆU KIẾN TRÚC DỊCH VỤ THƯ ĐIỆN TỬ................................ 27

1.3.1. Kiến trúc và các dịch vụ.................................................................... 27

1.3.2. Tác nhân người 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)....................................... 32

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 ................................................................................................................. 36

1.4.1.Phân tích cấu trúc thư điện tử (RFC 822).......................................... 36

1.4.1.1. Giới thiệu ..................................................................................... 36

1.4.1.2. Mô tả về cấu trúc thư..................................................................... 37

1.4.2. Định nghĩa về các trường Header..................................................... 39

1.4.3. Các trường header điển hình............................................................ 39

1.4.4. Ví dụ về cấu trúc thư......................................................................... 41

1.5. PHÂN TÍCH GIAO THỨC SMTP (RFC 821)............................................ 42

1.5.1. Giới thiệu chung................................................................................ 42

1.5.2. Mô hình hoạt động phiên giao dịch.................................................. 43

1.5.3. Thủ tục Mail...................................................................................... 45

1.5.4. Thủ tục Forwarding........................................................................... 48

1.5.5. Các thủ tục Mailing và Sending......................................................... 49

1.5.6. Các thủ tục Opening và Closing ........................................................ 51

1.5.7. Mã trả lời của các câu lệnh SMTP .................................................... 52

1.6. PHÂN TÍCH GIAO THỨC POP3 (RFC 1081,1082) .................................. 53

1.6.1. Giới thiệu........................................................................................... 54

1.6.2. Mô hình hoạt động phiên giao dịch.................................................. 54

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 4

1.6.3. Trạng thái AUTHORIZATION ....................................................... 56

1.6.4. Trạng thái TRANSACTION ............................................................ 59

1.6.5. Trạng thái UPDATE......................................................................... 64

1.6.6. Ví dụ về một phiên giao dịch POP3.................................................. 65

1.7. MIME (MULTIPURPOSE INTERNET MAIL EXTENSIONS)................. 67

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)................................................... 69

1.9.MAIL CLIENT, WEB MAIL ...................................................................... 70

CHƯƠNG 4 : GIỚI THIỆU VỀ CÁC CÔNG NGHỆ LIÊN

QUAN ............................................................................................................... 70

2.1.GIỚI THIỆU VỀ JRUN WEBSERVER 3.1................................................. 70

2.2.GIỚI THIỆU VỀ SQL SERVER 7.0............................................................ 71

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 ............................................................................. 71

2.2.2. Cấu trúc cơ sở dữ liệu vật lý:............................................................. 72

2.2.2.1. Trang (page):................................................................................. 72

2.2.2.2 .Extent:........................................................................................... 73

2.2.2.3 Những loại file trong CSDL:SQL Server có 3 loại file: .................. 73

2.3. LÝ THUYẾT MÔ HÌNH QUAN HỆ.......................................................... 74

2. 3.1. Các khái niệm cơ bản........................................................................ 74

2.3.2. Khái Niệm phụ thuộc dữ liệu và các dạng chuẩn ............................. 74

2.3.3 Khái niệm chỉ dẫn và khóa chỉ dẫn.................................................... 75

2.4.GIỚI THIỆU VỀ JAVA SERVLET............................................................ 75

2.4.1.Khái niệm về JAVA SERVLET ......................................................... 75

2.4.2.Những ứng dụng thực tế của JAVA SERVLET và kiến trúc của

JAVA SERVLET......................................................................................... 76

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 5

2.5.GIỚI THIỆU VỀ JAVA SERVER PAGES(JSP) ......................................... 76

2.5.1.Khái niệm về JSP ................................................................................ 76

2.5.2.Quan hệ giữa Servlet và JSP .............................................................. 77

2.5.2.1.Cách trình chủ biên dịch trang JSP thành servlet ............................ 77

2.5.2.2. So sánh giữa Servlet và JSP........................................................... 77

2.6. GIỚI THIỆU VỀ JAVABEANS ................................................................. 78

2.6.1.Khái niệm về JAVABEANS................................................................ 78

2.6.2.Các thẻ chuẩn của JAVABEANS trong trang JSP........................... 79

2.6.2.1.<jsp:useBean>................................................................................ 79

2.6.2.2.<jsp:setProperty> ........................................................................... 80

2.6.2.3. <jsp:getProperty>.......................................................................... 81

2.6.3.Thêm JAVABEANS vào JSP.............................................................. 81

PHẦN 2 : XÂY DỰNG ỨNG DỤNG....................................................................... 83

CHƯƠNG 1 PHÂN TÍCH BÀI TOÁN............................................... 83

1.1.TÊN ĐỀ TÀI ............................................................................................... 83

1.2.DỀ CƯƠNG CHI TIẾT ............................................................................... 83

1.2.1.Khảo sát............................................................................................... 83

1.2.2.Yêu cầu của bài toán........................................................................... 83

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 ............ 84

1.2.4. Chức năng của hệ thống thông tin quản lý ....................................... 85

1.3. LÝ DO CHỌN ĐỀ TÀI .............................................................................. 85

CHƯƠNG 2 : THIẾT KẾ VÀ CÀI ĐẶT ỨNG DỤNG............... 86

2.1.PHÂN TÍCH VÀ THẾT KẾ CƠ SỞ DỮ LIỆU............................................ 86

2.1.1.Phân tích.............................................................................................. 86

2.1.2. Giải thích các chức năng của hệ thống.............................................. 88

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 6

2.1.3.biểu đồ luồng dữ liệu( DFD – Data flow Diagram)............................ 89

2.1.4. THIẾT KẾ HỆ THỐNG.................................................................... 89

2.1.4.1. Các bảng dữ liệu chính .................................................................. 89

2.2. CÀI ĐẶT MAILSERVER .......................................................................... 91

2.2.1.Phương án tổ chức lưu trữ mail trên Server...................................... 91

2.2.2.Các đơn thể của mailserver ................................................................ 92

2.2.2.1. Xây dựng SMTP Server ................................................................ 93

2.2.2.2. Xây dựng POP3 Server................................................................ 114

2.3.CÀI ĐẶT MAILCLIENT .......................................................................... 136

Một số giao diện chính................................................................................. 142

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.

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 7

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.

Hà Nội, tháng 5 năm

2003

Nguyễn Xuân Thanh

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 8

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.

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 9

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.

PHẦN 1 : CƠ SỞ LÝ THUYẾT

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 10

CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ INTERNET VÀ

MỘT SỐ GIAO THỨC TRUYỀN THÔNG TRÊN

INTERNET

1.1. GIỚI THIỆU CHUNG VỀ INTERNET

Mạng Internet là một tập hợp gồm hàng vạn hệ mạng trên khắp thế giới, được

phát triển vào thập kỷ bảy mươi. Số lượng máy tính nối mạng và số lượng người truy

cập vào mạng Internet trên toàn thế giới đang ngày càng tăng lên nhanh chóng, đặc

biệt từ năm 1993 trở đi. Mạng Internet không chỉ cho phép chuyển tải thông tin nhanh

chóng mà còn giúp cung cấp thông tin, nó cũng là diễn đàn và là thư viện toàn cầu đầu

tiên.

Mạng Internet có xuất xứ năm 1969 từ mạng máy tính toàn cục ARPANET do

cơ quan quản lý các dự án nghiên cứu các công trình nghiên cứu khoa học tiên tiến

thuộc Bộ Quốc phòng Mỹ (US Defense’s Advance Research Projects Agency - gọi 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ỹ thuật chuyển mạch gói qua mạng vô tuyến và thông tin vệ tinh. Năm 1980, DARPA

thử nghiệm dùng giao thức TCP/IP và đã được các trường đại học ở Mỹ ghép nối với

hệ điều hành UNIX BSD (Berkely Software Distribution).

Hệ điều hành UNIX là hệ phát triển mạnh với rất nhiều công cụ hỗ trợ và đảm

bảo các phần mềm ứng dụng có thể chuyển qua lại trên các họ máy khác nhau (máy

mini, máy tính lớn và hiện nay là máy vi tính). Bên cạnh đó hệ điều hành UNIX BSD

còn cung cấp nhiều thủ tục Internet cơ bản, đưa ra khái niệm Socket và cho phép

chương trình ứng dụng thâm nhập vào Internet một cách dễ dàng.

Cấu trúc mạng Internet gồm có:

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 11

 Tầng ứng dụng: TELNET, FTP, SMTP;

 Tầng giao vận: TCP, UDP;

 Tầng Internet: Internet Protocol;

 Tầng mạng: X.25, Ethernet, FDDI. . .;

 Tầng vật lý: là các môi trường truyền tin khác nhau.

1.2. HỌ GIAO THỨC TCP/IP

TCP/IP là họ của các giao thức được sử dụng cho việc truyền thông máy tính.

Các chữ cái được viết tắt bởi các từ (Transmission Control Protocol/Internet Protocol),

hai giao thức này có cách biểu diễn khác nhau, người ta ít khi sử dụng với cái tên đầy

đủ của hai giao thức này. Thường các giao thức được nhóm lại thành các họ (đôi khi

còn được gọi là các suites hay các stacks). Các giao thức nào được nhóm lại với nhau

thường được xác định bởi các bộ cài đặt của giao thức.

Họ giao thức TCP/IP bao gồm các giao thức 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à một số các giao thức khác. Hình bên dưới mô tả kiến trúc của mạng

TCP/IP có so sánh với mô hình tham chiếu OSI để chúng ta hình dung được sự tương

ứng về chức năng của các tầng.

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 12

TCP/IP thực chất là một họ giao thức cùng làm việc với nhau để cung cấp

phương tiện truyền thông liên mạng. Trong phần này chúng ta sẽ xem xét giao thức IP,

giao thức TCP và một số ứng dụng ở tầng trên như Telnet, FTP, DNS, SMTP. . .

1.3. GIAO THỨC LIÊN MẠNG IP

Mục đích chính của IP là cung cấp khả năng kết nối các mạng con thành liên

mạng để truyền dữ liệu. Vai trò của IP tương tự vai trò của giao thức tầng mạng trong

mô hình OSI.

IP là một giao thức kiểu ”không liên kết” (connectionless) có nghĩa là không

cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu. Đơn vị dữ liệu dùng trong

IP được gọi là datagram, có khuôn dạng chỉ ra trong hình bên dưới.

ý nghĩa của các tham số như sau:

 VER (4 bits): chỉ version hiện hành của IP được cài đặt

OSI Model TCP/IP Protocol Suite

Layers

Application

Layer

Presentation

Layer

Session

Layer

Transport

Layer

Network

Layer

Data Link

Layer

Physical

Layer

TCP/IP Protocol

Architecture

Layers

Application

Layer

Host-to-Host

Transport

Layer

Internet

Layer

Network

Interface

Layer

Telnet FTP SMTP DNS RIP SNMP

TCP UDP

IP ARP

IGMP ICMP

Ethernet Token

Ring

Frame

Relay ATM

So sánh các kiến trúc ISO và TCP/IP

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 13

0 1 2 3 4 5 6 7

 IHL (4 bits): chỉ độ dài phần đầu (Internet Header Length) của datagram, tính

theo đơn vị từ (word = 32 bits). Độ dài tối thiểu là 5 từ (20 bytes).

VE

R

IH

L

Type of Service Total Length

Indentification Fla

gs

Fragment

offset

Time to live Protocol Header Checksum

Source Address

Destination Address

Options + Padding

Data

(max: 65.535 bytes)

 Type of service (8 bits): đặc tả các tham số về dịch vụ, có dạng cụ thể như sau:

Precedenc

e

D T R Reser

ved

trong đó:

Precedence (3 bits): chỉ thị về quyền ưu tiên gửi datagram, cụ thể là:

111 - Network Control (cao nhất) 011 - Flash

110 - Internetwork Control 010 - Immediate

101 - CRITIC/ECP 001 - Priority

100 - Flas Override 000 - Routine (thấp nhất)

D (Delay) (1 bit): chỉ độ trễ yêu cầu

D = 0 độ trễ bình thường

Header

0 3 4 7 8 15 16 31

Khuôn dạng của IP datagram

Đồ án tốt nghiệp

Sinh viên thực hiện Nguyễn Xuân Thanh Trang 14

D = 1 độ trễ thấp

T (Throughput) (1 bit): chỉ thông lượng yêu cầu

T = 0 thông lượng bình thường

T = 1 thông lượng cao

R (Reliability) (1 bit): chỉ độ tin cậy yêu cầu

R = 0 độ tin cậy bình thường

R = 1 độ tin cậy cao

 Total Length (16 bits): chỉ độ dài toàn bộ datagram, kể cả phần header (tính

theo đơn vị bytes).

 Indentification (16 bits): cùng với các tham số khác (như Source Address và

Destination Address) tham số này dùng để định danh duy nhất cho một

datagram trong khoảng thời gian nó vẫn còn trên liên mạng.

 Flags (3 bits): liên quan đến sự phân đoạn (fragment) các datagram, cụ thể là:

0 D

F

M

F

Bit 0: reserved - chưa sử dụng , luôn lấy giá trị 0

Bit 1 (DF) = 0 (May Fragment)

= 1 (Don’t Fragment)

Bit 2 (MF) = 0 (Last Fragment)

= 1 (More Fragment)

 Fragment Offset (13 bits): chỉ vị trí của đoạn (fragment) ở trong datagram, tính

theo đơn vị 64 bits, có nghĩa là mỗi đoạn (trừ đoạn cuối cùng) phải chứa một

vùng dữ liệu có độ dài là bội số của 64 bits.

 Time to live (8 bits): qui định thời gian tồn tại (tính bằng giây) của datagram

trong liên mạng để tránh tình trạng một datagram bị quẩn trên liên mạng. Thời

0 1 2

Tải ngay đi em, còn do dự, trời tối mất!