LỜI CẢM ƠN
---------Lời đầu tiên, nhóm em xin chân thành cảm ơn ThS. Phạm Thi Vương! Thầy đã
tận tình chỉ bảo, truyền đạt những kiến thức vô cùng bổ ích, quý báu cũng như những
ví dụ cụ thể, sinh động, hấp dẫn để nhóm em có thể thực hiện tốt đề tài này.
Nhóm em cũng xin cảm ơn Trường Đại Học Công Nghệ Thông Tin! Trường đã
tạo điều kiện thuận lợi cho chúng em (thư viện học tập rất lý tưởng) có thể họp nhóm
hiệu quả.
Nhóm em cũng xin gửi lời cảm ơn sâu sắc đến gia đình, bạn bè và những người
thân đã động viên, cổ vũ về vật chất cũng như tinh thần giúp em vượt qua khó khăn,
trở ngại để tiếp tục hoàn thành đề tài.
Xin chân thành cảm ơn!
Tp. HCM, tháng 06 – 2013
Nhóm thực hiện
Table of Contents
LỜI CẢM ƠN ...................................................................................................................................... 1
LỜI NÓI ĐẦU ...................................................................................................................................... 3
NHẬN XÉT CỦA GIẢNG VIÊN .............................................................................................................. 5
I.
GIỚI THIỆU ................................................................................................................................. 1
II.
MÔ TẢ CHỨC NĂNG.................................................................................................................... 2
1. Các chức năng chính: ........................................................................................... 2
1.1 Sử dụng tài khoản Gmail trên một Client. .................................................................. 2
1.2 Nhận và lưu trữ Email. .............................................................................................. 2
1.3 Tính năng xem nhanh email hữu ích cho người dùng. ............................................... 2
1.4 Xây dựng sổ địa chỉ. .................................................................................................. 3
1.5 Tìm kiếm Email. ......................................................................................................... 4
1.6 Quản lý email: xóa, chuyển, lưu thư… ..................................................................... 4
1.7 Soạn và gửi Email...................................................................................................... 5
1.8 Tính năng tự động thông báo khi có mail mới. ........................................................... 5
1.9 Hỗ trợ thiết lập tài khoản. ......................................................................................... 6
2. Hướng dẫn sử dụng. ............................................................................................. 6
2.1 Cài đặt ứng dụng ....................................................................................................... 6
2.2 Cách sử dụng ............................................................................................................. 7
III.
CẤU TRÚC CHƯƠNG TRÌNH. ...................................................................................................20
1.
Sơ đồ các module chính ................................................................................ 20
2.
Sơ đồ các lớp ................................................................................................ 21
3.
Giao diện chương trình ................................................................................. 23
3.1
Form Main. ........................................................................................................ 23
3.2
Form NewAccount. ............................................................................................. 24
3.3
Form SendMail. ................................................................................................. 24
3.4
Form Contacts. .................................................................................................. 25
3.5 Form newContact. ................................................................................................... 26
3.6
Form Search. ...................................................................................................... 27
3.7
Form Setting. ..................................................................................................... 28
3.8
Form Attach. ...................................................................................................... 29
3.9
Form About. ....................................................................................................... 29
4
Thuật toán mã hóa AES. .................................................................................. 30
5
Thiết kế cơ sở dữ liệu....................................................................................... 33
IV.
SOURCE CODE CÁC MODULE CHÍNH. ......................................................................................35
Nhận mail ..................................................................................................... 35
1.
1.1 Đăng nhập và đăng nhập vào Mail Server tiến hành tải mail mới về client. ............. 35
1.2
2.
Source code toolstripProcessBar chạy khi lấy mail về. ....................................... 36
Tự động thông báo có thư mới. ..................................................................... 38
2.1 Sử dụng timer để tự động lấy thư mới về . ................................................................ 38
2.2 Tự động thông báo khi có thư mới............................................................................ 39
3.Chức năng xem mail nhanh. ................................................................................ 39
4.
Soạn và gửi mail. .......................................................................................... 40
4.1 Thư viện sử dụng và cách khai báo: ........................................................................ 40
4.2 Hàm gửi mail và các thao tác định dạng. ................................................................ 41
5.
V.
Danh sách và chức năng chính của các Class. ............................................... 48
TÀI LIỆU THAM KHẢO .............................................................................................................49
LỜI NÓI ĐẦU
---------Công nghệ thông tin phát triển nhanh chóng như vũ bão đã tác động tích cực
đến mọi mặt đời sống kinh tế, xã hội. Internet đã trở nên quen thuộc và không thể
thiếu với mỗi người, với mỗi quốc gia và xã hội. Nhu cầu liên lạc, trao đổi thông tin
qua Internet phát triển với tốc độ chóng mặt, và email là một phương tiện liên lạc có
chi phí thấp, nhanh chóng và hiệu quả trên Internet. Hằng ngày chúng nhận một số
lượng email khá lớn, nếu như bạn là người không thường xuyên sử dụng Internet và
bạn muốn xem được email của mình ngay cả khi không truy cập được Internet…
Nhóm 18 đã phát triển “Ứng dụng Mail Client” nhằm hỗ trợ người dùng có thể
xem email bất cứ khi nào cần. Phần mềm của nhóm gồm các chức năng chính sau:
Hỗ trợ dùng nhiều tài khoản Gmail trên một Client.
Nhận Email và lưu trữ email.
Tính năng xem nhanh email hữu ích cho người dùng.
Xây dựng sổ địa chỉ.
Tìm kiếm Email.
Soạn và gửi Email.
Quản lý email như chuyển, xóa, lưu thư nháp,… email.
Tự động báo thư mới khi client nhận được thư mới.
Hỗ trợ người dùng thiết lập cho tài khoản.
Với giao diện khá đẹp mắt, hiệu quả, tiện dụng, kết hợp hướng dẫn sử dụng chi
tiết, nhóm hy vọng người dùng sẽ hài lòng với sản phẩm.
Mặc dù đã cố gắng hoàn thành tốt đề tài nhưng không tránh khỏi những thiếu
sót. Rất mong nhận được ý kiến đóng góp từ Quý Thầy, bạn bè và khách hàng để phần
mềm ngày càng hoàn thiện hơn.
Xin chân thành cảm ơn!
Tp. Hồ Chí Minh, tháng 6 – 2013.
Nhóm thực hiện
NHẬN XÉT CỦA GIẢNG VIÊN
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
ỨNG DỤNG MAIL CLIENT.
I.
GIỚI THIỆU
Ứng dụng Mail Client của nhóm 18 là ứng dụng thao tác với email, hỗ trợ cho
Gmail nhằm phục vụ nhu cầu liên lạc trên Internet qua tài khoản của Google Mail.
Ứng dụng với các tính năng: tự động cập nhật và lấy email mới lưu trữ tại client có hỗ
trợ xem file đính kèm, nhận thư, soạn thảo email mới có hỗ trợ lưu vào hộp thư nháp
nếu muốn, gửi thư với đính kèm tập tin, chèn hình ảnh, hyperlink vào nôi dung email,
xóa email tại client, sổ địa chỉ có thể tự động lấy liên hệ khi người dùng soạn và gửi
email và cho phép người dùng thêm liên hệ thủ công, hỗ trợ tìm kiếm email và hướng
dẫn sử dụng chi tiết phần mềm.
Ứng dụng được xây dựng trên môi trường Visual Studio 2012, sử dụng ngôn
ngữ C#( với giao diện trên Windows Forms Application). Mail Client 1.0 có giao diện
tiếng anh, dễ sử dụng, trực quan với mục tiêu đem lại sự thân thiện và thoải mái cho
người sử dụng.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
1
II.
MÔ TẢ CHỨC NĂNG.
1. Các chức năng chính:
1.1 Sử dụng tài khoản Gmail trên một Client.
Ứng dụng của nhóm chúng em có thể hỗ trợ quản lý cùng lúc nhiều tài khoàn
Gmail trên cùng một Client.
1.2 Nhận và lưu trữ Email.
Ứng dụng hỗ trợ hai chế độ Get Mail về Client:
- Get Mail tự động: khi ứng dụng mở lên tự động lấy mail về và
sau một khoản thời gian nhất định(người dùng có thể tự cấu hình
trong mục “Setting”) mặc định là 5 phút.
- Get Mail thủ công: người dùng có thể lấy mail theo ý muốn.
Mail mới sẽ được lưu xuống cơ sở dữ liệu. Người dùng có thể xem
mail khi không thể truy cập Internet.
1.3 Tính năng xem nhanh email hữu ích cho người dùng.
Người dùng có thể rê chuột vào các mail trên danh sách thời gian nhận
được và nội dung tóm lược của mail được hiển thị cho người dùng xem
trước khi click vào để xem mail.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
2
Với tính năng xem nhanh ứng dụng của nhóm hỗ trợ người dùng check
mail nhanh hơn kiểu xem bình thường, giúp tiết kiệm thời gian, và tránh
khỏi đọc phải những mail người dùng không thích.
1.4 Xây dựng sổ địa chỉ.
Sổ địa chỉ dùng quản lý các địa chỉ liên lạc của người dùng, hỗ trợ thêm
liên hệ mới, chỉnh sửa, xóa, soạn mail mới đến liên hệ.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
3
1.5 Tìm kiếm Email.
Hỗ trợ tìm kiếm mail theo tiêu đề, người gửi, người nhân, nội dung mail,
ngày gửi.
1.6 Quản lý email: xóa, chuyển, lưu thư…
Ứng dụng cho phép người dùng thực hiện các thao tác quản lý mail cơ bản như:
chuyển thư từ “Inbox” sang “Trash”, xóa thư ra khỏi client , lưu thư thành “Drafts”,
“Sent”.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
4
1.7 Soạn và gửi Email.
Thực hiện soạn mail mới, trả lời thư, chuyển tiếp thư, gửi thư có đính kèm file,
hình ảnh, trang webs, tự động thêm địa chỉ mới vào danh sách liên hệ khi người dùng
gửi mail lần đầu cho ai đó.
1.8 Tính năng tự động thông báo khi có mail mới.
Người dùng có thể yên tâm làm việc mà không lo lắng đến việc quên kiểm tra
mail mới, nhờ tính năng tự động thông báo có mail mới của ứng dụng, với tiếng nhạc
nhẹ nhàng, như khẽ nhắc người dùng.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
5
1.9 Hỗ trợ thiết lập tài khoản.
Người dùng có thể xem các thông tin cấu hình máy chủ gửi, nhận mail, thay đổi
thời gian tự động kiểm tra mail mới, cổng gửi và nhận thư.
2. Hướng dẫn sử dụng.
2.1 Cài đặt ứng dụng
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
6
2.2 Cách sử dụng
2.2.1 Màn hình khởi động.
Ghi chú: sau khi cài đặt phần mềm màn hình khởi động như hình trên, người dùng có
thể thêm tài khoản gmail vào bằng cách nhấn vào nút “Add new Gmail account” hoặc
vào FileAdd account, sau đó cửa sổ Add New Account sẽ được mở lên .
2.2.2 Màn hình thêm tài khoản Gmail
Ghi chú: Sau khi mở cửa sổ Add New Account. Người dùng có thể điền thông tin
theo mẫu sau:
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
7
Your name: Tên của người dùng.
Email Address: Địa chỉ Gmail.
Password: Mật khẩu tài khoản Gmail.
Khi thêm tài khoản tại khung nhập email sẽ kiểm tra địa chỉ email có hợp lệ hay
không. Nếu không hợp lệ thanh “Status” sẽ hiển thị nội dung “Check email
format!” và nút “OK” bị ẩn đi. Bạn phải nhập lại đúng địa chỉ email.
Sau khi điền đủ thông tin, người dùng chọn nút “OK” hoặc nhấn “Enter”, nếu
đăng nhập nhập vào mail server thì cửa sổ Add New Account sẽ được đóng lại,
và quay lại cửa sổ Main, ngược lại sẽ hiển thị thông báo ”Password or user
name is in correct! ”, khi đó người dùng phải nhập lại mật khẩu. Cỏ thể chọn
nút “Cancel” để thoát khỏi màn hình Add New Account.
2.2.3 Màn hình chính(màn hình thực đơn)
Ghi chú: người dùng có thể sử dụng menu, các nút, … để thực hiện các chức năng
chính của chương trình như: lấy thư về, soạn thảo, lưu trữ hoặc gửi đi một hay nhiều
thư mới, xóa thư, xem danh sách liên hệ, tìm kiếm thư, xem thư, cài đặt tài khoản,
thông tin về phần mềm, giúp đỡ, ….
Người dùng có thể thực hiện như sau:
Lấy & lưu thư: nhấn nút “Get Mail” nếu lấy về tất cả thư của tất cả các tài
khoản, nhấn vào từng tài khoản nếu muốn lấy mail theo tài khoản được chọn:
có 2 cách: như hình 1 và hình 2.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
8
Hinh 1
Hinh 2
Đọc thư: người dùng có thể đọc thư ở hai chế độ: đọc nhanh(hình 1) và đọc đầy
đủ(hình 2):
Hình 1.
Hình 2.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
9
Đặc biệt: người dùng có thể xem nhanh các thư chưa đọc, thư có đính
kèm File, và thư có gắn dấu sao ngay trên của sổ chính khi nhấn vào
ViewUnread(Starred/Attachment).
Trả lời, chuyển tiếp thư: nhấn nút “Reply” để trả lời thư theo từng mail khi
người dùng đọc thư ở chế độ đọc đầy đủ, nhấn nút “Forward” để chuyển tiếp
thư đến bạn bè hay một ai đó. Người dùng cũng có thể trả lời và chuyển tiếp
thư đang đọc bằng cách vào EditReply đối với trả lời, Edit Forward đối
với chuyển tiếp.
Thêm tài khoản Gmail mới: người dùng vào FileAdd Account để thêm vào
tài khoản Gmail khác.
Soạn thư mới: hỗ trợ người soạn thư mới ở các của sổ Main, Address Book.
Người dùng có thể nhấn nút “Write” tại của sổ Main hoặc vào
FileNew Mail để viết thư mới chưa có địa chỉ người nhận nếu
trong danh sách liên hệ của người dùng chưa có ai, và soạn mail
cho người đầu tiên trong danh sách liên hệ.
Ứng dụng còn hỗ trợ tạo thư mới khi người dùng Click vào địa
chỉ của người gửi trên của sổ Main như hình
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
10
hoặc click chuột phải chọn “Create new mail”:
Xóa mail: người có thể xóa mail hiện tại đang đọc, tất cả các mail đã đọc, mail
chưa đọc( chỉ áp dụng cho Inbox ) và tất cả các mail có trong hộp thư( Inbox,
Sent, Draft, Trash).
Click chuột phải vào “Inbox”, “Sent”, “Draft”, “Trash” để thao
tác.
EditDelete(thực hiện xóa mail đang xem, hay đang chọn).
Tìm kiếm thư: nhấn nút “Search” hoặc click chuột phải vào tên tài khoản chọn
“Search Messages…”.
Cài đặt tài khoản: người dùng có thể Click chuột phải vào tên tài khoản chọn
“Setting…”.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
11
Vào cửa sổ “Address Book”: nhấn nút “Address Book”.
Thoát: vào FileExit.
2.2.4 Màn hình thông tin(About).
Ghi chú: Màn hình About cho biết các thông tin về ứng dụng: phiên bản, người
phát triển, hỗ trợ kỹ thuật.
Người dùng vào: Help About.
2.2.5 Màn hình danh sách liên hệ(Contact).
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
12
Ghi chú: Màn hình Address Book hỗ trợ người dụng các chức năng: xem, thêm, xóa,
sửa một hay nhiều liên hệ.
Thêm liên hệ: hỗ trợ thêm ở của sổ chính và cửa sổ Address Book và sau khi
gửi mail.
Cửa sổ chính: click chuột phải vào mục “From ” hoặc “To” như hình để
thêm vào liên hệ mới.
Tại cửa sổ Address Book: nhấn nút “New Contact”.
Sau khi gửi mail đi ứng dụng sẽ tự động lưu liên hệ mới vào “Collection
Address”.
Chỉnh sửa liên hệ: sau khi chọn liên hệ người dùng có thể chỉnh sửa
Nhấn nút “Edit”.
Soạn thư cho liên hệ được chọn: nhấn nút “Write”.
Xóa liên hệ: xóa một hay nhiều liên hệ có trong danh sách
Chọn một hay nhiều liên hệ rồi nhấn nút Delete.
Truy cập vào website cá nhân hay công ty của liên hệ:
Thoát: nhấn nút “Exit”.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
13
2.2.6 Màn hình thêm liên hệ(New contact).
Tab Contact:
Tab Home – Work:
Ghi chú: màn hình này cho phép người dùng nhập các thông tin của một liên hệ.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
14
Người dùng thưc hiện các thao tác để thêm một liên hệ:
Contact:
First name: Tên người dùng
Last name: Họ và tên đệm
Display: Tên hiển thị
Chat name: Nick name của liên hệ
Email: Địa chỉ email của liên hệ
Additional Email: Địa chỉ email khác của liên hệ
Home:
Address: Địa chỉ nhà của liên hệ
Phone: ĐTDĐ hoặc điện thoại nhà.
Fax: Số fax
Website: Website riêng của liên hệ
Work:
Company: Công ty của liên hệ
Job: Nghề nghiệp
Country: Quốc gia của liên hệ
Website: Website của công ty của liên hệ.
2.2.7 Màn hình chỉnh sửa liên hệ
Ghi chú: màn hình chỉnh sửa liên hệ: cho phép người dùng thay đổi, chỉnh sửa thông
tin cá nhân của 1 liên hệ.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
15
2.2.8 Màn hình tìm kiếm thư( Search).
Ghi chú: màn hình search cung cấp người dùng các tính năng: tìm kiếm thư theo từng
mục riêng biệt(Tiêu đề, người gửi, người nhân, nội dung, ngày gửi), tìm kiếm nhiều
điều kiện khi chọn “Match all of the followwing” hoặc “Match any of the following”,
thoát khỏi của sổ.
Thoát: nhấn nút “Exit”.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
16
Ghi chú: người dùng có thể xem mail vừa tìm, trả lời thư đó, chuyển tiếp, xóa mail
vừa xem, trên View.
Xem thư vừa tìm: nhấn vào mail.
Trả lời thư tìm được: nhấn nút “Reply”.
Chuyển tiếp: nhấn nút “Forward”.
Xóa: nhấn nút “Delete”.
2.2.8 Màn hình đính kèm File(Attach).
Ghi chú: ở của số chính(Main) khi mail nào có file đính kèm sẽ hiển thị ra như hình.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
17
Người dùng có thể xem file đính kèm bằng cách click vào dòng “1 Attachment(s)”
như trên hình.
Sau đây là cửa sổ đính kèm(Attach):
Ghi chú: người dùng có thể biết được có bao nhiêu file đính kèm theo mail, xem file
đính kèm, xóa file.
Xem số file: mục “Status”.
Xem file: click vào tên file.
Xóa file: chọn 1 hay nhiều file, nhấn nút “Delete”.
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
18
2.2.8 Màn hình soạn thư(Write)
Ghi chú: người dùng sẽ thực hiện việc soạn mail, trả lời mail, chuyển tiếp mail trực
tiếp trên cửa sổ Write. Cửa sổ này cung cấp cho người dùng các chức năng và thao tác
như: soạn thư chỉ có text, thư có đính kèm file bất kỳ(trừ file *.exe), chèn hình ảnh vào
thư, chèn link của một website,…
Khi thực hiện thao tác soạn thư mới người dùng thực hiện các thao tác sau:
From: Địa chỉ email người dùng hiện tại
To: Địa chỉ email của người nhận thư
Cc: Danh sách địa chỉ email những người cùng được gửi(người nhận
biết là cùng nhận chung 1 email)
Bcc: Danh sách địa chỉ email những người cùng được gửi(người nhận
chỉ biết họ nhận được email)
Subject: Tiêu đề thư
Phần soạn thảo nội dung thư
Nhấn nút “Attach”: đính kèm file vào thư
Nhấn nút “AttachFile(Web page…)”: đính kèm file( trang web)
Nhấn nút “Remove Attach”: bỏ file đính kèm được chọn
Nhấn nút “Save”: lưu thư vào thư nháp(Draft)
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
19
Nhấn nút
: chọn địa chỉ gửi mail có trong danh
sách liên hệ
Nhấn nút “Send”: thực hiện việc gửi thư đi.
III. CẤU TRÚC CHƯƠNG TRÌNH.
1. Sơ đồ các module chính
Main
New Account
Address Book
Write
Search
Setting
About
Attach
New Contact
Các file của chương trình như các hình dưới đây:
Báo cáo đồ án Lập Trình Windows—WINP1.D27 – ThS.Phạm Thi Vương.
20