Vì vậy những người sử dụng chỉ thấy được một nửa ứng dụng của dịch vụ E-Mail và phần ứng dụng đó được gọi là Mail Client, hay còn được gọi là dich vu thu tín máy trạm.. Nhằm để hiểu rõ h
Trang 1ĐẠI HỌC ĐÀ NĂNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYÊN THÔNG VIỆT - HÀN
VKU
TT BAO CAO LAP TRINH MANG
DE TAI
XAY DUNG CHUONG TRINH WEB MAIL CLIENT
BANG PYTHON
Giảng viên hướngdẫn : Ths Nguyén Thanh Cam
Nhóm sinh viên thực hiện Trần Mẫn
Đà Nẵng, tháng 11 năm 2023
Page
Trang 2ĐẠI HỌC ĐÀ NĂNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYÊN THÔNG VIỆT - HÀN
BAO CÁO LẬP TRÌNH MẠNG
DE TAI
XAY DUNG CHUONG TRINH WEB MAIL CLIENT
BANG PYTHON
Giảng viên hướngdẫn : Ths Nguyén Thanh Cam
Nhóm sinh viên thực hiện Trần Mẫn
Đà Nẵng, tháng 11 năm 2023
Trang 3LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến cô giáo, giáo viên hướng dẫn ThS.Nguyén Thanh Cẩm Trong quá trình nghiên cứu đề tài, cô đã tạo điều kiện về tài liệu và kiến thức liên quan, tận tình hướng dẫn em cũng như tạo mọi điều kiện thuận lợi để em có thể hoàn thành tốt đề tài
Mặc dù đã rất cố gắng, nhưng trong khoảng thời gian có hạn nên trong đồán này của em không tránh khỏi những thiếu sót Vì vậy rất mong nhận được sự góp ý của các bạn, các thầy cô giáo cũng như các cá nhân hay tổ chức quan tâm đến vấn đề được trình bày trong đồ án này
Em xin chân thành cảm ơn!
Sinh viên
Trần Mẫn
3|Page
Trang 4MỞ ĐẦU
Ngày nay, với sự phát triển nhanh chóng và mạnh mẽ của tin học và công nghệ Internet, hầu hết 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ử (E-Mail) là một trong những dịch vụ đã và đang được sử dụng nhiều trên mạng Internet hiện nay Dịch vụ này cho phép các cá nhân hay tổ chức trao đổi thư tín với nhau thông qua mạng Internet Nhiều người
sử dụng Internet chỉ để sử dụng dịch vụ này
Thông thường, khi sử dụng dịch vụ E-Mail, người sử dụng ít khi quan tâm xem hệ thống được cài đặt, cấu hình và thực hiện như thế nào Vì vậy những người sử dụng chỉ thấy được một nửa ứng dụng của dịch vụ E-Mail và phần ứng dụng đó được gọi là Mail Client, hay còn được gọi là dich vu thu tín máy trạm
Nhằm để hiểu rõ hơn hoạt động của hệ thống E-Mail, trong đồ án này em xin trình bày về Mail Server, cụ thể là các mô hình truyền thông, các giao thức truyền thông, các hoạt động của một hệ thống Mail Server
Vì thời gian có hạn và có rất nhiều vấn đề liên quan, do đó trong đồ án này
em chỉ xin trình bày những vấn đề cơ bản nhất về dịch vụ E-Mail và cài đặt một hệ thống Mail Server mang tính thử nghiệm
Đồ án gồm bốn chương:
Chương 1: Tổng quan về Mail Server và Client Server
Chương 2: Nguyên lý hoạt động
Chương 3: Xây dựng chương trình và kết quả
Kết luận
Trang 5Nhận xét của giáo viện hướng dẫn
Giáo viên hướng dân
Ths Nguyễn Thanh Cam
5|Page
Trang 6MG DAU = - dẢÁ 4 DANH MỤC HỈÏNH 2222222222211112211112221111102211111002011110021111001 11021100 re 8 M.9Ii8I09079 60088 ố 9 DANH MỤC CỤM TỪ VIẾT TẮTT -.225::222222122222211122221111212111121111112210111.211111.21 10 0:09) c8 c9 95 ẽ aAa II
1.1 Tổng quan về web §€rVT s2 52 2 2E nE110111211211 1121210001222 121212121222 11
1.1.1 Giao thức HTTP (HyperText Transfer Protocol) - ác c SH HH 1101112 re, 11 1.1.2 Web CHierit c1 2221121201121 111 1111211011111 151 011111 1110111111111 111 HH HH HH HH kệ 11
In 00 án 13 1.3.2 Push MaillL - - c1 22201121 12111111211211111 1511211111111 111111 n1 11H tk HH HH HH HH 13 1.3.3 Email Hosting 18 G1? 000i ccc cece eee .õÝỶÝ 13 1.3.4 POP3, IMAP 4 14
IS o7 nh 14
Trang 7IS i8 .v‹‹ưcaaiiiiảảii'i'ẢŸ—ŸỶỔŸỒŨŨIÃẮẮỶÃẮẢÝẢ 14 1.6 Phan mềm quản lý Mail SerVer: - s- s 2122212211211 1121121111222 101212222 xe 15 1.7 Nhiing giao thite 10 — 15 1.7.1 Giao thire SMTP (Simple Mail Transper Protoeol) - cceceeceeteeeetsetseeetseneeeneees 15
1.7.2 Giao thire POP3 (Post Office Protocol version 3) ccccccccccecetetetseteeteteeteneneneenes 17 1.7.3 Giao thire IMAP (Internet Massage Acess Protocol) cece nh Ha 19
CHUGONG 2: PHAN TICH VA THIET KE HE THÓNG 22222222222222222222222222e 20
2.1 So dé use case tong thé ccc 22 211211 111212122 2121212122222 1112 rre 20
3.1.3 Giai đoạn 3: Tiến hành thiết kế giao diện và lập trình chức năng: - 2 sszzcczze2 29
3.1.4 Giai đoạn 4: Giai đoạn chạy thử - c0 2112111 12111211111211 1211 1111121211 1181 HH ra 29
3.2 Kết quả chương trìnÏ: -2- S221 22 2212211211211121121221 1212121212222 1211212222 eg 30
3.2.1 Mô hình kiẾn trÚC: 5:22: 922111221111221111122111102111122211112 1110211100111 1010111 ra 30
3.2.2 Giao dién Ung MUNG ằŨ 31 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN -22252:2222222222222122222222 e2 35
4.1 Những điểm chương trình làm được: - s2 2122112211211 1121.1212222 21 re 35
4.1.1 Đối với người đùng: - 5s s22 1 2121122222121 1122 rse 35 4.1.2 Đối với người quản trị: - 5s sSEE12211211121122 2121212222222 221211212222 creg 35
4.2 Nhược điểm của Ji0:0i5805:/1: 2000777 .a 35
4.3 Hướng phát triển của chương trìnÏ: -2- s2 22222221 5E21211211112121122112112101212212 2 reg 35
7|Page
Trang 8Hình 3 1: Mô hình Client — Š€rVer - c2 1111211111 111111 011010111111 01 111111 re 30 Hình 3 2: Mô hình Quản lý emaall c1 221221101121 121 1111121121111 111 1211111211822 31 Hình 3 3: Giao diện đăng nhập 012112121121 111 1111111010111 1011 11 H1 111 re 32 Hình 3 4: Giao diện màn hình hộp thư đến ng ng nang rere 33 Hình 3 5: Giao diện soạn maIÌL c1 1119111112 11101111111 1110116111111 1112 xk: 34
Trang 9DANH MỤC BẢNG
Bảng 2 1: Bảng đặc tả đăng nhập 2.12112121111111 011011001 0111101 11 1e 21 Bảng 2 2: Bảng đặc tả chức năng gửi maiÌ, 11: 11 111111121181 181121112 111 e 22 Bảng 2 3: Bảng đặc tả chức nang tra lot math c2: 101111111 1111 11181111821 xg 24 Bảng 2 4: Bảng đặc tá chức năng chuyển tiếp mail 2- 52 SE 1222122222222211 xe 26
Bảng 3 1: Bảng danh sách màn hình c1 122211111113 111112121181 12181 111211211 32
9|Page
Trang 10DANH MUC CUM TU VIET TAT
STT Cum từ Viết tắt
1 SMTP Simple Mail Transfer Protocol
2 IMAP Internet Message Access Protocol
3 IP Protocflternet Protocol
4 IDE Integrated Development Environment
Trang 11
CHƯƠNG 1: TỔNG QUAN
1.1 Tổng quan về web server
1.1.1 Giao thức HTTP (HyperText Transfer Protocol)
- HTTP là một giao thức cho phép Web browser và Web Server có thểgiao tiếp với nhau Nó chuẩn hóa các thao tác cơ bản mà một Web Server phải làm được
- HTTP là giao thức cơ bản giống như các giao thức chuẩn khác của Internet, thông tin điều khiển để truyền dưới dạng văn bản thô thông qua kết nối
- Các trình duyệt: Mosaic NCSA, Internet Explore
1.1.3 Web tĩnh
- Web tĩnh (Static Website) chính là cách gọi khác của những Trang Web phiên bản trước tiên Là Website dùng hoàn toàn ngôn ngữ HTML (có đuôi html hoặc htm), sau khi tải trang HTML từ máy chủ xuống, trình duyệt web(IE, Firefox, Opera, .) sẽ biên dịch mã và hiển thị thông tin Website, người dùng hầu như không thể tác động qua lại với Trang Web
- Về kiến thức cơ bản thì Trang Web tĩnh thường được tạo ra từ CSS,HTML, JAVASCRIPT (DHTML), vào thời điểm hiện tại có thêm công nghệ HTML5 &
CSS3
1.1.4 Web động
- Các trang web tĩnh tuy tiện lợi nhưng không đáp ứng đủ nhu cầu của ứng dụng web, đặc biệt là những tương tác giữa Client và Web server Chúng là những tệp có chứa mã lập trình, có thể tạo ra những trang web động, cho phép trả về client và trang web có nội dung thay đổi linh động ứng với ngữ cảnh cụ thể, thu thập những phản hồi thông tim mà người dùng gửi lên server (thông qua URL), truy cập cơ sở sở liệu,
11|Page
Trang 12- Một số ngôn ngữ lập trình web động phổ biến PHP, ASP,
- Ở khía cạnh phần cứng, một web server là một máy tính lưu trữ các file thành phần của một website (ví dụ: các tài liệu HTML, các file ảnh, CSS và các filelavaScript) và có thể phân phát chúng tới thiết bị của người dùng cuối (end-user) Nó kết nối tới mạng Internet và có thể truy cập tới thông qua một tên miền giống như mozilla.org
- Ở khía cạnh phần mềm, một web server bao gồm một số phần để điều khiển cách người sử dụng web truy cập tới các file được lưu trữ trên một HTTP server (máy chủ HTTP) Một HTTP server là một phần mềm hiểu được các URL (các địa chỉ web) và HTTP (giao thức trình duyệt của bạn sử dụng
để xem các trang web)
1.2 Tổng quan về Mail server:
1.2.1 Khái niệm về thư điện tử
- Thư điện tử hay còn gọi là Email (viết tắt của Electronic Mail trong tiếng Anh), là hệ thống được tạo ra với mục đích gửi và nhận thư qua mạng
internet
- Thư điện tử sinh ra để thay thế hệ thống gửi và nhận thư bằng giấy theo cách truyền thống So với thư giấy vốn tốn nhiều kinh phí để vận hành và tốn thời gian vận chuyển, thư điện tử giúp tiết kiệm rất nhiều thời gian và tiền bạc
- Không chỉ có vậy, ngoài văn bản thư điện tử còn có thể chứa và gửi đi các
tập tin đa phương tiện như âm thanh, hình ảnh, video và tài liệu
1.2.2 Lịch sử của Mail
12|Page
Trang 13- Chúng ta đã quen thuộc với công cụ giao tiếp bằng email với đối tác khách hàng mỗi ngày Thế nhưng, bạn có biết ai là người đã gởi bức thư điện tử đầu tiên trên thế giới, hay gmail được hình thành từ lúc nào? Bài viết dưới đây sẽ cung cấp cho bạn một bức tranh tổng quát về lịch sử ra đời và phát triển của email
+ 40 năm trước, búc thư điện tử (Electronic Mail - Email) đầu tiên được gửi
đi, đánh dấu sự ra đời của một trong những khái niệm quan trọng nhất của tương lai.Đặc biệt, Tomlinson đã sử dụng ký tự “@” để phân cách giữa tên người dùng và tên của máy tính Từ đó, ký tự “@” được sử dụng trong các địa chỉ email, để phân cách giữa tên sử dụng và tên miền của dịch vụ email + Năm 1976, nữ hoàng Elizabeth Đệ Nhị đã sử dụng email đầu tiên + Năm 1978, bức email có nội dung quảng cáo đầu tiên trên thế giới được gửi đi, thông qua các hệ thống mạng của chính phủ và của các trường đại
+ Năm 2004, các từ viết tắt như LOL (cười sảng khoái) và nhiều từ viết tắt khác thường được sử dụng trong email được đưa vào từ điển tiếng Anh
1.2.3 Ưu điểm của Mail
13|Page
Trang 14+ Rút ngắn thời gian và khoảng cách của việc gửi và nhận thư
+ Tiết kiệm chi phí cho việc gửi và nhận thư từ nơi này sang nơi khác + Không mất nhiều thời gian cho việc viết thư
+ Chưa nhiều nội dung thông tin cho một lần gửi
+ Tính bảo mật thông tin cao
1.3 Một số khái niệm thuật ngữ khi sử dụng Mail
1.3.1 SMTP là gì?
- SMTP là tên viết tắt của từ tiếng anh Simple Mail Transfer Protocol,nghĩa tiếng việt là một giao thức để truyền tải thư đơn giản Người ta sử dụng giao thức này ở các chương trình gửi nhận email được cài đặt trên máy tính
1.3.2 Push Mail
- Push Mail là một dạng Mail Server mới, có chệ độ cập nhật email gần như tức thì Nó sẽ lập tức gửi ngày một bản sao đến máy của bạn Khác với Pull Mail, Push Mail hoạt động ngay cả khi bạn không truy cập vào ứng dụng của
nó
1.3.3 Email Hosting là gì?
- Email Hosting là dịch vụ email riêng, nó được tạo ra nhằm phục vụ cho công việc của công ty Và đuôi của nó thường là đuôi có tên miền của công ty.Ví dụ như địa chỉ abc@gogo.net thì gogo chính là tên công ty của bạn
- Email Hosting cho phép việc giao dịch giữa các thành viên trong công ty
và giao dịch với khách hàng một cách nhanh chóng và bảo mật Thêm nữa, việc nhận và gửi thư đảm bảo tỷ lệ inbox cao Với tên miền công ty sẽ giúp cho bạn chiếm được lòng tin của khách hàng hơn, nâng cao sự uy tín và chuyên nghiệp của thương hiệu mình hơn
1.3.4 POP3, IMAP
- POP3, IMAP là 2 giao thức để nhận email về máy qua Mail Client.POP3 sẽ tải email về máy, còn IMAP sẽ ánh xạ (hiển thị y chang hộp thư mail của bạn về trang web) về máy
1.3.5 Alterante Email
14|Page
Trang 15- Nó có nghĩa là mail dự phòng, mail phụ hay mail thay thế Bạn sử dụng nó trong trường hợp quên mật khẩu, mail sẽ có nhiệm vụ giúp bạn lấy lại mật
khẩu đã mất
1.4Những thành phần trong hệ thống Mail
- Hệ thống phải có ít nhất hai thành phần: Mail server và Mail client + Mail gateway: máy kết nối giữa các mạng dùng cho các giao thức truyền thống khác nhau dùng chung giao thức
+ Mail Host: Là máy giữ vai trò máy chủ mail trong hệ thống mạng
+ Mail Server: chứa mailbox của người dùng
+ Mail Client: là những hệ thống mà nó cho phép tập tin mail spool của user được đọc thông báo qua cơ chế mount
outlook(application), hay cả hai (giống như gmail)
1.6 Phần mềm quản lý Mail Server:
- Linux là một mã nguồn mở nên có đa dạng gói cài đặt giúp quản trị hệt hống Mail Server, trong đó có IRed Mail và Axigen Về Mail Server em sẽ cài IRedMail trên hệ điều hành Linux distro Centos 7 IRedMail là một
"shellscript" miễn phí cho phép triển khai nhanh một hệ thống, giải pháp
15|Page
Trang 16Mail Server mở rất nhanh chóng và hiệu quả Trước hết, ta cần hiểu một số điều về iRedMail như sau:
+ Các hệ điều hành được hỗ trợ: Red Hat(R) Enterprise Linux & CentOSB5.x, Debian 5.0.x, Ubuntu 8.04/9.04, FreeBSD 7.x/8.x (bao gồm cả ¡386và
x86_ 64)
+ Hầu hết các thành phần được sử dụng trong iRedMail được cung cấp bởi các bản phân phối Linux chính thức Điều này có nghĩa là người dùng iRedMail sẽ nhận được sự hỗ trợ về cập nhật phần mềm miễn phí,phân phối bởi nhà cung cấp
+ iRedMail hỗ trợ OpenLDAP và MySQL là cách để lưu các tên miền ảo và
người dùng ảo
+ Trang quản trị của iReadMail được xây dựng trên nền tảng web-admin 1.7 Những giao thức Mail
1.7.1 Giao thức SMTP (Simple Mail Transper Protocol)
- SMTP (Simple Mail Transfer Protocol) là giao thức chuẩn TCP/IP truyền tải thư điện tử đơn giản hóa Giao thức này có nhiệm vụ thiết lập kênh kết nối giữa mail client và mail server, và thiết lập kênh liên lạc giữa mail server gửi và mail server nhận
Trang 17+ SMTP Server (máy chủ dùng gửi mail) là một dịch vụ cho phép gửi một số lượng lớn Email với tốc độ nhanh mà không bị giới hạn như dịch vụ mail miễn phí của Gmail hoặc mail đi kèm với dịch Hosting mà bạn đang dùng + Nghĩa là các máy chủ này sẽ chỉ giúp bạn thục hiện thao tác gửi thư nên người ta thường gọi là SMTP Server và máy chủ này sẽ thực hiện gửi thư qua giao thức TCP hoặc IP
+ Trước tiên, việc gửi thông báo (notification) sẽ phải được thực hiện bắt đầu bằng việc chuyển thông báo đến một máy chủ SMTP chỉ định Sau đó, dựa vào tên miền của địa chỉ Email nhận (VD: TenGmail.com),SMTP Server mới bắt đầu trao đổi liên lạc đến một DNS Server, tại đây sẽ bắt đầu thao tác tìm kiếm và trả về Host Name của SMTP Server đích(VD:
Mail.TenGmail.com) cho tên miền đó Sau cùng thì SMTP Serverban đầu sẽ thực hiện trao đổi thông tin trực tiếp với SMTP Server đích thông qua cổng
+ Kết quả là sẽ chờ người nhận có được thông báo đó thông qua một chương trình gửi nhận mail như Mail Server của Outlook chẳng hạn là được
17|Page
Trang 18+ Trong bối cảnh khác, nếu SMTP Server đầu tiên không thể liên lạc và trao đổi thông tin trực tiếp với Server đích thì giao thức SMTP sẽ tiếp tục cung cấp các cơ chế để chuyển các thông báo thông qua một hay nhiều SMTP Server chuyển tiếp trung gian khác
+ Một máy chủ trung gian sẽ nhận được thông báo gốc và sau đó sẽ tiến hành gửi thông báo đó tới máy chủ đích hoặc cũng có thể gửi thông báo một lần nữa tới một trong các máy chủ trung gian khác
+ Quá trình bên trên sẽ được thao tác nhiều lần cho đến khi thông báo được chuyển đi thành công hoặc hết hạn thời gian lưu giữ thông báo
1.7.2 Giao thức POP3 (Post Office Protocol version 3)
- POP3 là từ viết tắt của Post Protocol Version 3, đây là một giao thức tâng ứng dụng dùng để lấy thư điện tử từ các server email bằng cách kết nối
TCP/IP
- POP3 được dùng để kết nối đến các server mail và tải email đó xuống máy tính cá nhân bằng ứng dụng email client như Outlook, Thunderbird,Windows
mail, Mac mail,
- Đây là một giao thức nhận email đã có từ rất lâu, khi mà máy tính còn bị giới hạn bởi tốc độ, băng thông
- POP3 là giao thức 1 chiều, có nghĩa là email được “kéo” từ email server từ
xa xuống email client
- Tìm hiểu về giao thức POP3 trong email
18|Page