Lập trình ứng dụng gửi email hàng loạt

14 4 0
Lập trình ứng dụng gửi email hàng loạt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Báo cáo chi tiết về lập trình ứng dụng gửi email hàng loạt, mục đích cơ sở lý thuyết và cách thức xây dựng phần mềm sdf

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN Nhóm 03 BÁO CÁO BÀI TẬP LỚN HỌC PHẦN LẬP TRÌNH MẠNG Tên đề tài: LẬP TRÌNH ỨNG DỤNG GỬI EMAIL HÀNG LOẠT Giảng viên hướng dẫn: Bùi Dương Thế Thành viên nhóm 03: Đào Văn Thương – 19H1120035 Trầm Hiệp Thành – 19H1120032 Lê Đồn Vũ Thành phố Hồ Chí Minh, năm 2021 – 19H1120063 MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG MỤC TIÊU, MỤC ĐÍCH, CƠ SỞ LÝ THUYẾT .2 1.1 Mục tiêu, mục đích 1.2 Cơ sở lý thuyết 1.2.1 POP3 port POP3 ? 1.2.2 IMAP port IMAP mặc định ? 1.2.3 SMTP ? 1.2.4 Giao thức SMTP hoạt động ? CHƯƠNG XÂY DỰNG PHẦN MỀM .5 2.1 Thiết kế giao diện .5 2.2 Thư viện sử dụng 2.3 Hàm gửi mail 2.4 Hàm trỏ tới file đính 2.5 Hàm kiểm tra định dạng email 2.6 Hàm trỏ tới file lưu trữ danh sách mail 2.7 Hàm kiểm tra file .9 2.8 Hàm xử lý gửi mail CHƯƠNG KẾT LUẬN 11 3.1 Kinh nghiệm đạt 11 3.2 Kết đạt 11 3.3 Kết chưa đạt 11 3.4 Hướng phát triển 11 TÀI LIỆU THAM KHẢO 12 LỜI NĨI ĐẦU Ngày ứng dụng Cơng Nghệ Thông Tin tronng lĩnh vực quản lý & sản xuất ngày sâu rộng, phần mềm góp phần vào việc phát triển quản lý sản phẩm doanh nghiệp, phần mềm góp phần tiết kiệm sức lao động người, quản lý trở nên xác, nhanh gọn chuyên nghiệp Trong thời đại 4.0 việc liên lạc để trao đổi thông tin vô cần thiết Và Email phương pháp giao tiếp online phổ biến Chúng ta thấy Email sử dụng nhiều môi trường giáo dục, văn phịng, cơng chức,… khả nhận thư nhanh chóng, dễ dàng; tiết kiệm chi phí; nhận - gửi thư lúc; chứa nhiều dạng thơng tin khác Hiện email chia làm loại email cá nhân (VD: @gmail.com, @yahoo.com…) email doanh nghiệp Email cá nhân cung cấp cách miễn phí tính bảo mật thấp Nếu bạn muốn Marketing sản phẩm gửi Mail hàng loại hình thức quảng cáo tốn thời gian chi phí hiệu đem lại từ hình thức quảng cáo cao Và hình thức trở thành hình thức quảng cáo Marketing tương lai Chính vậy, bạn cần phải biết cách tối ưu hiệu qua việc kết hợp chúng với phần mềm gửi Email hàng loạt tốt Tham khảo code thực hành thầy cung cấp, nhóm chúng em bổ sung kết nối thêm chức giao diện mà phần mềm Gửi mail hàng loạt cần có Nhóm em xin chân thành cảm ơn thầy Bùi Dương Thế tận tình hướng dẫn, bảo mơn học Lập Trình Mạng để nhóm em có hiểu biết cần thiết cho việc lập trình phần mềm Do thời gian kiến thức có hạn nên báo cáo khơng tránh khỏi thiếu sót, mong nhận đóng góp ý kiến thầy bạn để báo cáo hoàn thiện Xin chân thành cảm ơn! CHƯƠNG MỤC TIÊU, MỤC ĐÍCH, CƠ SỞ LÝ THUYẾT 1.1 Mục tiêu, mục đích Mục tiêu báo cáo nhóm em hướng tới đối tượng người dùng doanh nghiệp, dùng việc thực gửi email hàng loạt , để dùng nhiều mục đích khác thơng báo, quản lý làm việc, maketing sản phẩm, Góp phần giúp người dùng doanh nghiệp, tiết kiệm thời gian, chi phí, cơng sức cho việc gửi mail 1.2 Cơ sở lý thuyết 1.2.1 POP3 port POP3 ? POP (Post Office Protocol version 3) sử dụng để kết nối tới server email tải email xuống máy tính cá nhân thơng qua ứng dụng email Outlook, Thunderbird, Window Mail, Mac Mail,… Thơng thường, email client có tùy chọn bạn có muốn giữ email server sau tải hay không Nếu bạn truy cập tài khoản nhiều thiết bị, chúng tối khuyên nên chọn giữ lại copy server không thiết bị thứu khơng thể tải mail xóa sau tải thiết bị Cũng đáng để lưu ý POP3 giao thức chiều, có nghĩa email “kéo” từ email server xuống email client Mặc định, port POP3 là: • Port 110 – port khơng mã hóa • Port 995 – SSL/TLS port, gọi POP3S 1.2.2 IMAP port IMAP mặc định ? IMAP (Internet Messsage Access Protocol), POP3 dùng để kéo emails emails client, nhiên khác biệt với POP3 kéo email headers về, nội dung email server Đây kênh liên lạc chiều, thay đổi email client chuyển lên server Sau này, giao thức trở nên phổ biến nhờ nhà cung cấp mail lớn giới, Gmail, khuyên dùng thay POP3 Port IMAP mặc định: • Port 143 – port khơng mã hóa • Port 993 – SSL/TLS port, gọi IMAPS 1.2.3 SMTP ? SMTP (Simple Mail Transfer Protocol) giao thức chuẩn TCP/IP dùng để truyền tải thư điện tự (e-mail) mạng internet Và giao thức thực nhiệm vụ gửi mail cịn việc nhận mail hay truy xuất liệu mail server có giao thức IMAP hay POP3 đảm nhiệm Nó thiết lập kênh kết nối mail client mail server, thiết lập kênh liên lạc mail server gửi mail server nhận Email đẩy từ mail client lên mail server từ mail server server gửi đến mail server nhận SMTP Server (server dùng để gửi mail) dịch vụ cho phép gửi email với số lượng lớn, tốc độ nhanh mà không bị giới hạn hàm mail miễn phí Gmail mail kèm hosting Nói cách khác máy chủ giúp bạn thao tác gửi thư người ta thường gọi SMTP Server chúng thực gửi thư qua giao thức TCP IP Thường SMTP thực để hoạt động qua cổng Internet 25 (TCP) châu âu có phương thức thay cho SMTP gmail sử dụng rộng rãi gọi X.400 Song song với có nhiều máy chủ thưu điện tử hỗ trợ giao thức chuyển thư đơn giản mở rộng gọi (ESMTP), giao thức cho phép tệp đa phương tiện gửi dạng e-mail Hệ thống mail hay đơn giản Email muốn chuyên nghiệp cần phải tìm hiểu giao thức mà hỗ trợ làm việc lâu dài giúp nâng cao hiệu suất công việc nhờ khả gửi nhận thư nhanh chóng, bạn phải cần lưu ý khả đính kèm tập tin lưu trữ với dung lượng cao giúp bạn có thêm nhiều lợi việc sử dụng lâu dài, tiết kiệm thời gian chuyển đổi doanh nghiệp,… Ngoài giao thức SMTP thử điện tử giao thwusc khác quan trọng IMAP hay POP3 giúp bạn có hệ thống gói email doanh nghiệp tồn diện nhất, chuyên nghiệp tính cao 1.2.4 Giao thức SMTP hoạt động ? Cách thức hoạt động hệ thống SMTP Việc gửi thông báo thực bắt đầu việc chuyển thông báo đến SMTP Server định Dựa vào tên miền địa e-mail (tenemail.com), SMTP Server bắt đầu trao đổi liên lạc với DNS Server mà tìm kiếm trả host name SMTP Server đích (ví dụ: ‘mail.tenemail.com’) cho tên miền Sau SMTP Server trao đổi thông tin trực tiếp với SMTP Server đích thơng qua cổng 25 TCP/IP/ Nếu tên người dùng địa e-mail nhận trùng khớp với tài khoản người dùng phép máy chủ đích Thì thơng báo e-mail gốc cuối đưa đến máy chủ này, chờ người nhận lấy thơng báo qua chương trình gửi nhận mail mail Server Outlook chẳng hạn Các port mặc định SMTP: • Port 25 – port khơng mã hóa • Port 465/587 – SSL/TLS port, cúng gọi SMTPS CHƯƠNG XÂY DỰNG PHẦN MỀM 2.1 Thiết kế giao diện Giao diện WinForm gồm có: • txbFile : lưu trữ đường dẫn file đính kèm cần gửi • btnAttach: chọn file đính kèm cần gửi • txbTo: lưu trữ đường dẫn file chứa danh sách email cần gửi • btnFile: chọn file chứa danh sách email cần gửi • txbSubject: nhập chủ đề gửi mail • txbEmail: nhập email cần gửi • txtPassword: nhập password email cần gửi • btnSend: gửi mail • txbMessage: nhập nội dung cần gửi email 2.2 Thư viện sử dụng - Thư viện System.IO để thao tác với file - Thư viện System.Net System.Net.Mail dùng để gửi mail - Thư viện System.Text.RegularExpressions: sử dụng biểu thức quy để kiểm tra định dạng email 2.3 Thư viện System.Threading để xử lý đa luồng Hàm gửi mail Trong hàm gửi mail này, truyền vào tham số gồm from (người gửi, to (người nhận), subject (chủ đề), message (nội dung mail) attchment (file đính kèm có) Khởi tạo phiên lớp System.Net.Mail.SmtpClient gửi email cách sử dụng máy chủ cổng SMTP định Nhận thông tin đăng nhập để xác thực người gửi Gửi tin nhắn định đến máy chủ SMTP để gửi Đầu tiên hàm SendMail thực thi set isError = false, email mật khơng bắt lỗi set isError = true, isError = true tiến trình lặp để đọc file lấy thông tin mail người nhận dừng lại hiển thị thông báo lỗi xác thực 2.4 Hàm trỏ tới file đính Trong hàm này, người dùng nhấn vào button Attach File hiển thị thư mục chọn file thành công hiển thị đường dẫn file lên textbox 2.5 Hàm kiểm tra định dạng email - ([a-zA-Z][a-zA-Z0-9]+): chuỗi pattern kiểm tra tên mail cá nhân, bắt đầu kí tự chữ sau chữ số, ví dụ: hiepthanha7@gmail.com, ledoanvu16@gmail.com, - ([0-9]{2}(H|h|[0-9])[0-9]{7}): chuỗi pattern kiểm tra mail sv 19H1120035@sv.ut.edu.vn, 1951080171@sv.ut.edu.vn - @[a-zA-Z]+(\.[a-zA-Z]+){1,3}: kiểm tra định dạng mail, gồm kí tự @, chuỗi kí tự (gmail, email, yahoo, sv), cụm kí tự có đến cụm kí tự (.edu.vn com) Ví dụ: chuthuong1080@gmail.com, 19h1120035@sv.ut.edu.vn Ở hàm CheckMail() kiểm tra định dạng email có hợp lệ hay không, định dạng email không hợp lệ hiển thị thơng báo ErrorProvider Đây nhập định dạng email 2.6 Hàm trỏ tới file lưu trữ danh sách mail Ở hàm lọc tập tin có txt chọn file thành cơng hiển thị lên textbox 2.7 Hàm kiểm tra file Nếu chuỗi truyền vào có chứa chuỗi “:\” file trả true, ngược lại trả false Hàm ClearText() dùng để xóa tất kí tự textbox focus vào ô txbTo 2.8 Hàm xử lý gửi mail Đầu tiên kiểm tra danh sách mail cần gửi, chủ đề mail, tên đăng nhập email, password nhập vào định dạng email phải xử lý kiểm tra có file đính kèm hay khơng, có file đính kèm thêm file đính kèm vào, sau kiểm tra txbTo file sử dụng khối lệnh try catch để bắt lỗi đọc file Nếu message khác rỗng gửi mail gửi mail mà isError = true dừng việc đọc file, cịn message mà rỗng hiển thị thơng báo xác nhận gửi mail Ngược lại, ô txbTo chuỗi nhập vào, kiểm tra định dạng email có hợp lệ hay khơng, hợp lệ gửi mail tới mail nhận Sau gửi mail thành cơng hiển thị thơng báo gửi mail thành cơng xóa hết kí tự textbox focus vào txbTo, ngược lại hiển thị thông báo lỗi 10 CHƯƠNG KẾT LUẬN 3.1 Kinh nghiệm đạt Qua tập lớn lần nhóm em đạt nhiều kinh nghiệm kiến thức , kỹ như: - Củng cố kiến thức lập trình mạng học, học hiểu biết thêm nhiều kiến thức - Cách làm việc nhóm tốt hơn, hiệu - Thao tác với git, bitbucket dễ dàng - Làm việc với visual studio - Phân chia công việc cho hợp lý với thành viên nhóm 3.2 Kết đạt - Có thể gửi mail lúc cho nhiều người - Đính kèm tập tin 3.3 Kết chưa đạt - Giao diện đơn sơ, nội dung danh sách email phải định dạng gửi 3.4 Hướng phát triển Định hướng phát triển phần mềm gửi mail hàng loại nhóm: - Tiếp tục cải thiện giao diện phầm mền cho thân thiện với người dùng - Cải thiện tốc độ hiệu phần mềm cách thêm thuật toán - Thêm chức lọc mail văn bản, hiển thị lại danh sách mail cần gửi để người đùng chọn,… 11 TÀI LIỆU THAM KHẢO https://bkhost.vn/posts/smtp-la-gi https://www.hostinger.vn/huong-dan/giai-thich-giao-thuc-pop3-smtpimap-la-gi-va-port-cua-chung https://wiki.matbao.net/pop3-smtp-imap-la-gi-danh-sach-port-pop3-vasmtp-port-tren-email-server/ ... nhập chủ đề gửi mail • txbEmail: nhập email cần gửi • txtPassword: nhập password email cần gửi • btnSend: gửi mail • txbMessage: nhập nội dung cần gửi email 2.2 Thư viện sử dụng - Thư viện System.IO... Protocol version 3) sử dụng để kết nối tới server email tải email xuống máy tính cá nhân thơng qua ứng dụng email Outlook, Thunderbird, Window Mail, Mac Mail,… Thông thường, email client có tùy... kèm cần gửi • btnAttach: chọn file đính kèm cần gửi • txbTo: lưu trữ đường dẫn file chứa danh sách email cần gửi • btnFile: chọn file chứa danh sách email cần gửi • txbSubject: nhập chủ đề gửi mail

Ngày đăng: 23/11/2022, 13:18

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan