Vì vậynhữ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à dịch vụ thư tínmáy trạm.. Nhằm để hiểu rõ hơn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT- HÀN
Khoa Kỹ thuật máy tính và Điện tử
Đà Nẵng, tháng 12 năm 2022
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG VIỆT - HÀNKhoa Kỹ Thuật Máy Tính và Điện Tử
ĐỒ ÁN MÔN HỌC
ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH MAIL CLIENT
Sinh viên thực hiện: NGÔ TIẾN DŨNG – 20IT825
NGÔ NGUYỄN MINH HÒA – 20IT532Giảng viên hướng dẫn:THS NGUYỄN THANH CẨM
Đà Nẵng, tháng 12 năm 2022
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ẫnThS.Nguyễn Thanh Cẩm Trong quá trình nghiên cứu đề tài, cô đã tạo điềukiệ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ạomọ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 quantâ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
Ngô Nguyễn Minh HòaNgô Tiến Dũng
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ụ domạ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ềungườ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 quantâm xem hệ thống được cài đặt, cấu hình và thực hiện như thế nào Vì vậynhữ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à dịch vụ thư tínmá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 giaothứ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 đồ ánnà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ảng viên hướng dẫn)
Mục Lục MỞ ĐẦU 4
DANH MỤC HÌNH 8
Danh Mục Bảng 9
DANH MỤC CỤM TỪ VIẾT TẮT 10
CHƯƠNG 1: TỔNG QUAN 11
1.1 Tổng quan về web server 11
1.1.1 Giao thức HTTP (HyperText Transfer Protocol) 11
1.1.2 Web Client 11
1.1.3 Web tĩnh 11
1.1.4 Web động 11
1.1.5 Web server 12
1.2 Tổng quan về Mail server: 12
1.2.1 Khái niệm về thư điện tử 12
1.2.2 Lịch sử của Mail 13
1.2.3 Ưu điểm của Mail 14
1.3 Một số khái niệm thuật ngữ khi sử dụng Mail 14
1.3.1 SMTP là gì? 14
1.3.2 Push Mail 14
1.3.3 Email Hosting là gì? 15
1.3.4 POP3, IMAP 15
1.3.5 Alterante Email 15
1.4 Những thành phần trong hệ thống Mail 15
1.5 Mail server: 16
1.6 Phần mềm quản lý Mail Server: 16
1.7 Những giao thức Mail 17
1.7.1 Giao thức SMTP (Simple Mail Transper Protocol) 17
1.7.2 Giao thức POP3 (Post Office Protocol version 3) 19
1.7.3 Giao thức IMAP (Internet Massage Acess Protocol) 20
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 22
2.1 Sơ đồ use case tổng thể 22
2.2 Đặc tả use case 22
Trang 62.2.1 Use case đăng nhập: 22
2.2.2 Use case Gửi Mail 24
2.2.3 Trả lời email: 26
2.2.4 Chuyển tiếp Email 28
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ 30
3.1 Các bước triển khai xây dựng: 30
3.1.1 Giai đoạn 1: Thu thập tài liệu liên quan: 30
3.1.2 Giai đoạn 2: Giai đoạn phân tích và thiết kế: 30
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: 30
3.1.4 Giai đoạn 4: Giai đoạn chạy thử 31
3.2 Kết quả chương trình: 31
3.2.1 Mô hình kiến trúc: 31
3.2.2 Giao diện ứng dụng 32
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 37
4.1 Những điểm chương trình làm được: 37
4.1.1 Đối với người dùng: 37
4.1.2 Đối với người quản trị: 37
4.2 Nhược điểm của chương trình: 37
4.3 Hướng phát triển của chương trình: 37
4.4 Những kiến thức kỹ năng đạt được sau khi thực hiện đồ án: 37
DANH MỤC TÀI LIỆU THAM KHẢO 39
DANH MỤC HÌN
Trang 7Hình 1 1: Mô hình minh họa SMTP 19
Hình 1 2: Mô hình SMTP 20
Hình 1 3: Mô hình giao thức POP3 2 Hình 2 1: Sơ đồ usecase tổng quát 24
Hình 2 2: Sơ đồ Activity Diagram chức năng đăng nhập 26
Hình 2 3: Sơ đồ Sequence Diagram chức năng đăng nhập 27
Hình 2 4: Sơ đồ Activity Diagram chức năng gửi mail 28
Hình 2 5: Sơ đồ Sequence Diagram chức năng gửi mail 29
Hình 2 6: Sơ đô Activity Diagram chức năng trả lời mail 30
Hình 2 7: Sơ đồ Sequence Diagram chức năng trả lời mail 30
Hình 2 8: Sơ đồ Activity Diagram chức năng chuyển tiếp mail 31
Hình 2 9: S ơđôồ Sequence Diagram ch ức năng chuy ển tếếp mail 3 Hình 3 1: Mô hình Client – Server 34
Hình 3 2: Mô hình Quản lý email 35
Hình 3 3: Giao diện đăng nhập 36
Hình 3 4: Giao diện màn hình hộp thư đến 37
Hình 3 5: Giao diện hộp thư mail 38
Hình 3 6: Giao diện soạn mail 39
Trang 8Danh Mục Bả
Bảng 2 1: Bảng đặc tả đăng nhập 27
Bảng 2 2: Bảng đặc tả chức năng gửi mail 29
Bảng 2 3: Bảng đặc tả chức năng trả lời mail 31
Bảng 2 4: Bảng đặc tả chức năng chuyển tiếp mail 33Y
Bảng 3 1: Bảng danh sách màn hình 39
Trang 9DANH MỤC CỤM TỪ VIẾT TẮT
Trang 10CHƯƠ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ảilàm được
HTTP là gao thức cơ bản giống như các giao thức chuẩn khác củaInternet, thông tin điều khiển để truyền dưới dạng văn bản thô thông qua kếtnối TCP
Cổng 80 là cổng mặc định dành cho Web Server lắng nghe các kết nối đượcgửi đến
1.1.2 Web Client
Là một phần mềm được sử dụng trên máy khách (Client), dùng để gởicác yêu cầu lên Web Server và nhận các kết quả đáp ứng từ Server đồng thờihiển thị lên với khuôn dạng thích hợp
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 TrangWeb 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ệtweb (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
Trang 11Cá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, chophé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,
Một số ngôn ngữ lập trình web động phổ biến PHP, ASP, …
http://www.google.com thì nó sẽ ánh xạ (map) Uniform Resource Locator
(URL)trên vào một file cục bộ trên máy server
Ở khía cạnh phần cứng, một web server là một máy tính lưu trữ các filethành phần của một website (ví dụ: các tài liệu HTML, các file ảnh, CSS và cácfileJavaScript) 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ềukhiể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 HTTPserver (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ử
11
Trang 12Thư điện tử hay còn gọi là Email (viết tắt của Electronic Mail trongtiếng Anh), là hệ thống được tạo ra với mục đích gửi và nhận thư qua mạnginternet.
Thư điện tử sinh ra để thay thế hệ thống gửi và nhận thư bằng giấy theocá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ốnthờ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ềnbạ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 đicác tập tin đa phương tiện như âm thanh, hình ảnh, video và tài liệu
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ườidù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ụ emailNă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 học
Năm 1982, từ “email” (viết tắt của Electronic Mail – Thư điện tử) lần đầu tiên được sử dụng
Tháng 10/1997, Yahoo! trình làng dịch vụ email của riêng mình và nhanh chóng trở thành một trong những dịch vụ email lớn nhất thế giới
Trang 13Năm 2003, tổng thống Mỹ George Bush đã ký vào đạo luật đầu tiên về giới hạn việc sử dụng email cho các dịch vụ thương mại và quảng cáo
để ngăn chặn nạn Spam thư rác
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 Oxford
21/3/2004, Google lần đầu tiên thử nghiệm dịch vụ email Gmail của mìnhdưới dạng Beta Chỉ những ai được mời mới có thể tham gia thử nghiệmdịch vụ này, và mỗi tài khoản Gmail lại được cung cấp tối đa 50 thư mờiđến những người dùng khác Hiện nay, trong tài khoản Gmailvẫn còn giữ lại chức năng gửi thư mời để tham gia Gmail
Đến năm 2007, Gmail chính thức trở thành dịch vụ email cho tất cảmọi người tham gia
Năm 2008, Barack Obama (khi đó là ứng cử viên tổng thống) đã thu thậpđược 13 triệu địa chỉ email của người dùng tại Mỹ Obama đã sử dụng các địa chỉemail thu thập được, cũng như các dịch vụ mạng xã hội nổi tiếng thời bấy giờ nhưMySpace hay Youtube để kêu gọi sự ủng hộ của người dân Mỹ
1.2.3 Ưu điểm của Mail
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ụnggiao thức nfay ở các chương trình gửi hận email được cài đặt trên máy tính
1.3.2 Push Mail
Trang 14Push Mail là một dạng Mail Server mới, có chệ độ cập nhật email gầnnhư 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ớiPull Mail, Push Mail hoạt động ngay cả khi bạn không truy cập vào ứng dụngcủa 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ư mailcủa bạn về trang web) về máy
1.3.5 Alterante Email
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ậtkhẩu đã mất
1.4 Nhữ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 tthonog 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ạngMail Server: chứa mailbox của người dùng
Trang 15Mail 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.
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ệ thố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 "shell script" miễn phí cho phép triển khai nhanh một hệ thống, giải pháp Mail 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 & CentOS5.x, Debian 5.0.x, Ubuntu 8.04/9.04, FreeBSD 7.x/8.x (bao gồm cả i386 và 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 16Trang 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/IPtruyề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ênhkết nối giữa mail client và mail server, và thiết lập kênh liên lạc giữa mailserver gửi và mail server nhận
Hình 1 1: Mô hình minh họa SMTP
- 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ênngười ta thường gọi là SMTP Server và máy chủ này sẽ thực hiện gửi thư qua giaothứ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
Trang 17đó, 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 SMTPServer đích (VD: Mail.TenGmail.com) cho tên miền đó.Sau cùng thìSMTP Server ban đầu sẽ thực hiện trao đổi thông tin trực tiếp vớiSMTP Server đích thông qua cổng 25 của TCP/IP.
Hình 1 2: Mô hình SMTP
- Nếu tên người dùng (username) của địa chỉ Email nhận trùng khớp với tàikhoản người dùng được cấp phép trong máy chủ đích thì thông báo Email gốc cuốicùng sẽ được đưa đến máy chủ này
- Kết quả là sẽ chờ người nhận có được thông báo đó thông qua một chươngtrình gửi nhận mail như Mail Server của Outlook chẳng hạn là được
- 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ếptrung gian khác
17
Trang 18- Một máy chủ trung gian sẽ nhận được thông báo gốc và sau đó sẽ tiếnhà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ữatớ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áytí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
Hình 1 3: Mô hình giao thức POP3
Trang 19- Chức năng máy chủ email
POP3 ngày nay được phát triển ngày một tốt hơn với khả năng cấu hình download mail từ máy chủ nhiều lần sau khoảng thời gian quy định mới xóa tuy nhiên phương thức này chỉ dành cho những người quản trị có kinh nghiệm còn với phần lớn người hiện nay thì nó vẫn chưa khả quan.Mặc dù máy chủ thư điện tử có các giao thức có thể thay thế như IMAP nhưng người ta vẫn ưu thích sử dụng phương thức POP3 trong nhận mail hơn vì khả năng phát sinh lỗi của
nó rất thấp, bên cạnh đấy có nhiều phiên bản nâng cấp của POP nhưng phiên bản POP3 vẫn là phiên bản được sử dụng nhiều nhất hiện nay với sự hoạt động ổn định
- Làm việc cùng ứng dụng
Bởi vì tính đơn giản trong việc truy xuất và lưu trữ email POP3 được sử dụng trong rất nhiều ứng dụng miễn là bạn cấu hình giao thức nhận mail đúng thì POP3 sẽ hoạt động vì vậy có nhiều ứng dụng cấu hình POP3 thành giao thức mặc định trong đó có thể kể đến như Outlook, Eudora,…
Mỗi máy chủ thư điện tử POP3 sẽ có địa chỉ khác nhau thường được cung cấp bởi các đơn vị lưu trữ web, địa chỉ này được nhận diện trong các trương trì
- Cơ chế hoạt động của POP3: Kết nối đến server Nhận toàn bộ mail.Lưu cục bộ như mail mới
Xóa mail trên server
Ngắt kết nối với server
1.7.3 Giao thức IMAP (Internet Massage Acess Protocol)
- IMAP là viết tắt của Internet Message Access Protocol, là giao thức chuẩnInternet được sử dụng bởi các ứng dụng email để truy xuất thư
19