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
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 3Mặ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
Ngô Nguyễn Minh Hòa Ngô 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 đặtmộ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 27Bảng 2 2: Bảng đặc tả chức năng gửi mail 29Bảng 2 3: Bảng đặc tả chức năng trả lời mail 31Bảng 2 4: Bảng đặc tả chức năng chuyển tiếp mail 33YBả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 được gử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 Trang Webphiên bản trước tiên Là Website dùng hoàn toàn ngôn ngữ HTML (có đuôihtml 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ườidù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, cho phéptrả 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, …
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ácURL (các địa chỉ web) và HTTP (giao thức trình duyệt của bạn sử dụng để xemcác trang web)
1.2 Tổng quan về Mail server:
1.2.1 Khái niệm về thư điện tử
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ề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 đicá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
Chúng ta đã quen thuộc với công cụ giao tiếp bằng email với đối táckhá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ủaemail
40 năm trước, bức thư điện tử (Electronic Mail – Email) đầu tiên đượcgửi đi, đánh dấu sự ra đời của một trong những khái niệm quan trọngnhấ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ụ 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 đượcgử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 13 Nă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ắtkhác thường được sử dụng trong email được đưa vào từ điển tiếng AnhOxford
21/3/2004, Google lần đầu tiên thử nghiệm dịch vụ email Gmail củamình dưới dạng Beta Chỉ những ai được mời mới có thể tham gia thửnghiệm dịch vụ này, và mỗi tài khoản Gmail lại được cung cấp tối đa 50thư 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ọingười tham gia
Năm 2008, Barack Obama (khi đó là ứng cử viên tổng thống) đã thuthậ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ờibấ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ứctruyề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ạng
Mail Server: chứa mailbox của người dùng
Trang 15 Mail Client: là những hệ thống mà nó cho phép tập tin mail spoolcủ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àiIRedMail 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 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ấpbởi các bản phân phối Linux chính thức Điều này có nghĩa là ngườidù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 16 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/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ửithư 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
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 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 đíchthô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ớitài khoản người dùng được cấp phép trong máy chủ đích thì thông báoEmail gốc cuối cù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ộtchương trì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ếptục cung cấp các cơ chế để chuyển các thông báo thông qua một haynhiều SMTP Server chuyển tiếp trung gian khác
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áomộ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ứctầng ứng dụng dùng để lấy thư điện tử từ các server email bằng cách kếtnối TCP/IP
- POP3 được dùng để kết nối đến các server mail và tải email đó xuốngmá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
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 saukhoảng thời gian quy định mới xóa tuy nhiên phương thứcnày chỉ dành cho những người quản trị có kinh nghiệm cònvớ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ứcPOP3 trong nhận mail hơn vì khả năng phát sinh lỗi của nó rấtthấp, bên cạnh đấy có nhiều phiên bản nâng cấp của POPnhưng phiên bản POP3 vẫn là phiên bản được sử dụng nhiềunhấ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ữ emailPOP3 được sử dụng trong rất nhiều ứng dụng miễn là bạn cấuhì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 địnhtrong đó có thể kể đến như Outlook, Eudora,…
Mỗi máy chủ thư điện tử POP3 sẽ có địa chỉ khác nhauthườ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ứcchuẩn Internet được sử dụng bởi các ứng dụng email để truy xuất thư