Professional Documents
Culture Documents
ĐỒ ÁN THỰC HÀNH
SOCKET
MÔN: MẠNG MÁY TÍNH
GIẢNG VIÊN: LÊ HÀ MINH
Công việc Người phụ trách Công việc chưa Mức độ hoàn
hoàn thành thành công việc
Gửi được Email với TO, CC và Phạm Chí Thuần Không có 100%
BCC
Gửi được attached file (dung Phạm Chí Thuần, Không có 100%
lượng dưới 3mb) Phan Văn Tài
Tải được các email về mail Phan Văn Tài, Đinh Không có 100%
client từ mailbox của Server Đức Thiện
Quản lý trạng thái email (đã Phan Văn Tài Không có 100%
đọc/ chưa đọc)
3. Tổ chức cơ sở dữ liệu
- Các email sẽ được lưu vào trong thư mục username@gmail.com, bên trong sẽ chứa
các thư mục “Inbox, Important,..” là nơi mà các email sẽ được lưu trữ cùng với một
file username.json như hình để hỗ trợ việc xử lí.
III. Môi trường lập trình và các framework hỗ trợ
1. Môi trường lập trình
- Môi trường phát triển tích hợp: Microsoft Visual Studio Code
- Thư viện: socket, threading, time, datetime, email, byteparser, MIME, tkinter, re,
threading, os, base64
- Compiler: Trình biên dịch ngôn ngữ lập trình Python thành ngôn ngữ máy của
Microsoft Visual Studio Code
IV. Hướng dẫn sử dụng các tính năng của chương trình
- Để sử dụng chương trình thì cần có file test_mail_server_1.0.jar, cách tải đã có trong
file hướng dẫn đồ án.
- Chạy file test test_mail_server_1.0.jar, để port SMTP là 2500, port POP3 là 1100
- Bài làm gồm 3 tệp tin, mỗi tệp có chức năng riêng
+ email_functions_client.py: chứa các hàm thực thi yêu cầu: gửi, nhận, lọc dữ liệu,…
+ email_interface_main.py: chứa các hàm để tạo UI cho người dùng tương tác
+ config.json: chỉnh sửa các thông tin người dùng, chứa địa chỉ IP Server, số port của
SMTP và POP3, chỉ số Autoload và các trường hợp để lọc mail.
- Để chạy chương trình, trong Visual Studio Code nhấn nút hình tam giác ở góc trên
bên phải màn hình:
- Nếu sử dụng CMD, gõ đúng đường link chứa file thực thi và ghi thêm: python
filename.py và nhấn enter
- Giao diện như sau sẽ được hiện ra.
- Nhập username và password và nhấn login. Một màn hình mới được hiện ra, khi này
đồng thời trong file config.json, trường username và password sẽ được cập nhật thành
thông tin đã nhập.
2. Các chức năng chính
+ Send Mail: gửi email cho email khác, có thể gửi cho chính mình
+ Received Mail: hiển thị các folder chứa các mail được gửi đến; cho phép xem các
mail được gửi đến, tải mail, xóa mail, di chuyển mail đến folder mong muốn.
- Để gửi mail, nhấn vào nút “Send Mail”. Màn hình sau hiện ra và bạn cần cung cấp
các thông tin gồm:
+ BCC: Địa chỉ Email của người nhận BCC (nếu có)
+ Số lượng file đính kèm: số nguyên không âm, nếu lớn hơn 0 thì sẽ hiện ra cửa sổ và
các khung bằng số lượng file vừa nhập . Bạn cần nhập vào đường dẫn file và file có
dung lượng dưới 3MB
+ Bấm proceed. Màn hình sau hiện ra chứng tỏ bạn nhập file thành công.
b. Xem mail
- Để xem các mail đã gửi cho mình, bạn đăng nhập vào email muốn xem, bấm vào
“Received Mail”
- Màn hình sau hiện ra. Chọn thư mục muốn xem:
- Nếu trong thư mục trống sẽ hiện ra như sau:
- Nếu thư mục có email bên trong sẽ hiển thị như sau:
- Thư sau khi được đọc sẽ chuyển trạng thái từ <chưa đọc> thành <đã đọc>
- Nếu thư có file đính kèm sẽ hiển thị như sau:
- Nhấp chuột vào file đính kèm và chọn đường dẫn sau đó nhấn “download” để lưu
file về máy
c. Xử lí mail BCC
- Để chủ động di chuyển mail sang thư mục khác. Vào mail bạn muốn di chuyển
- Chọn “Move mail to other folder”
- Chọn thư mục bạn muốn di chuyển mail đến, ví dụ ở đây chọn thư mục “Project”
- Kiểm tra lại trong thư mục “Project
+ Trong lúc bạn chạy chương trình thì hệ thống sẽ tự động tải email mới về máy mỗi
10s một lần.
+ Chương trình sẽ tự động tạo 1 file username.json (ví dụ: thuan@gmail.com.json)
trong thư mục chứa các thư mục Inbox, Important,.. để dễ dàng kiểm tra và phục vụ
cho các chức năng như đọc mail,…
- Khi muốn nhập nhiều mail trong khi gửi, mỗi mail được phân tách bởi dấu “,” và
một dấu cách “ “. Cần nhập đúng cú pháp. Ví dụ:
- Chương trình cho phép gửi content và subject bằng tiếng việt có dấu,