QUÁ TRÌNH XÂY DỰNG ỨNG DỤNG MAIL Quá trình xây dựng ứng dụng mail rất đa dạng, nhưng chủ yếu tập trung vào 2 phần: + Xây dựng mail server: là chương trình hoạt động phía máy chủ
Trang 1BÁO CÁO BÀI TẬP LỚN
Môn: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Yêu cầu:
Xây dựng chương trình có menu gồm hai chức năng chính Chức năng thứ nhất là “Đọc thư” cho phép người dùng đăng nhập vào hòm thư khi biết địa chỉ IP của Mail Server, tên người dùng và mật khẩu Khi kết nối được với Mail Server thì hiển thị hộp thư gồm: tên người gửi, ngày gửi, chủ đề từng bức thư Chức năng thứ hai “Cấu hình” cho phép người dùng thêm mới thông tin Account, sửa, hay xoá các thông tin, v.v của mỗi người
Nhiệm vụ mỗi thành viên trong nhóm:
-Thiết kế giao diện, tổng hợp kết quả và viết chương trình:
Bùi văn Khải ( Nhóm trưởng)
- Tìm hiểu phương thức gửi Mail:
Nguyễn Hải Nam Nguyễn Thị Vân Hoàng Thị Hồng Ngọc Nguyễn Minh Tiến
- Tìm hiểu phương thức kiểm tra Mail:
Nguyễn Thị Thu Hà Đinh Công Đà Lường Văn Hà
1 QUÁ TRÌNH XÂY DỰNG ỨNG DỤNG MAIL
Quá trình xây dựng ứng dụng mail rất đa dạng, nhưng chủ yếu tập trung vào 2 phần:
+ Xây dựng mail server: là chương trình hoạt động phía máy chủ nhận, lưu trữ mail, phân phối, gửi mail đến các trình chủ khác Các chương trình như
Mdaemon, SendMail, Mail Exchange … là những mail server
+ Xây dựng mail client: là chương trình hoạt động phía máy khách thực hiện chức năng cho phép người dùng nhập vào nội dung mail, gửi mail đến một mail server xác định Nhận mail từ mail server về và hiển thị cho người dùng xem nội dung mail Ví dụ: Outlook Express của windows hay web mail trên internet là những trình khách đóng vai trò mail client
- Mail server: theo mô hình hoạt động khách/chủ, trình chủ của bạn là một dịch vụ đóng vai trò người chủ phục vụ trình khách Mail server thật ra là một chương trình mở socket lắng nghe các yêu cầu (hay lệnh gửi mail) từ trình khách đưa đến Như đã nêu, mail server sẽ tiếp nhận nội dung mail, phân phối mail đến các mail server khác, cho phép trình khách truy nhập vào mail server
Trang 2để nhận mail về, bảo vệ mail… Chính vì vậy, trước khi nhận hay gửi mail bạn phải biết rõ địa chỉ IP của mail server Địa chỉ này thường là mail host Hiện
có rất nhiều trình chủ Mail Server rất nổi tiếng bạn có thể sử dụng như
Mdaemon, SendMail, Mail Exchange…
- Giao thức gửi mail (Mail transport protocol): để gửi mail đến máy chủ, trình khách phải sử dụng một giao thức trò chuyện với mail server Tương tự trình duyệt dùng giao thức HTTP để trò chuyện với trình chủ Web server Các trình khách muốn bắt tay với trình chủ mail server và gửi mail lên máy chủ sẽ sử dụng giao thức SMTP (Simple Mail Transport Protocol) SMTP khác nổi tiếng
và được hầu hết các trình chủ mail trên thế giới sử dụng Địa chỉ IP của máy chủ nhận mail gửi đi thường được gọi là outgoing mail address Trình chủ thực hiện chức năng tiếp nhận mail theo giao thức SMTP gọi là SMTP server Trình khách sử dụng giao thức SMTP gửi mail đến trình chủ gọi là SMTP Client
- Giao thức lưu trữ và nhận mail (mail store protocol): khi trình chủ mail server tiếp nhận được mail, trình chủ phải tiến hành lưu trữ mail theo cách nào
đó để trình khách có thể dễ dàng truy nhập vào và nhận mail về Hiện nay POP3 (post office protocol) và IMAP (internet message access protocol) là 2 giao thức lưu trữ và lấy mail từ hộp thư (inbox) trên máy chủ khá phổ biến Địa chỉ máy chủ lưu trữ mail cho phép máy khách truy cập vào để nhận mail
về được gọi là incoming mail address Các chương trình mail client thường sử dụng giao thức POP3 để lấy mail về từ trình chủ hiển thị phía máy khách Trình chủ tiếp nhận yêu cầu của trình khách theo giao thức POP3 gọi là POP server
2 GIỚI THIỆU JAVA MAIL API
Các bước gửi nhận mail:
Với JavaMail API, để đọc mail từ máy chủ mail, cơ bản bạn cần thực hiện các bước sau:
+ Tạo đối tượng mail Session
+ Tạo đối tượng Store chuẩn bị lấy mail về Để tạo được đối tượng Store bạn cần yêu cầu người dùng nhập vào tên và mật khẩu chứng thực
quyền truy cập hộp thư hợp pháp
+ Sử dụng đối tượng Store để lấy về đối tượng Folder (thực sự thì mail của bạn được lưu trữ theo cấu trúc tương tự cấu trúc cây thư mục) Mỗi Folder sẽ chứa một loại thư mà bạn muốn lấy Như Folder Inbox chứa các thư gửi đến, Folder Trash chứa các thư vừa bị xóa, Folder Sent chứa các thư đã gửi đi…
+ Duyệt đối tượng Folder để lấy về danh sách các thư
Để gửi mail đi, bạn cần thực hiện các bước sau:
+ Yêu cầu người dùng chọn các giao thức gửi (SMTP) và lưu trữ mail (POP3, IMAP …) Lưu các thông tin này vào đối tượng Session
+ Tạo đối tượng Message Đối tượng này sẽ chứa các thông tin về mail
Trang 3cần gửi đi như địa chỉ người gửi, địa chỉ người nhận, tiêu đề mail, nội dung mail…
+ Gọi Transport.send() hoặc phương thức sendMessage() của đối tượng Transport để gửi mail đi
3 TÌM HIỂU MỘT SỐ LỚP TRONG JAVA MAIL
Trang 4public final class PasswordAuthentication
extends java.lang.Object
Trang 5 public final class PasswordAuthentication
Là lớp chứa các phương thức phân tích và chứng thực các địa chỉ tương ứng với từng người dùng
public class InternetAddress
extends Address
public class InternetAddress
Là lớp chứa các phương thức phân tích, chuyển đổi, nhận diện các địa chỉ
public abstract class Message
extends java.lang.Object implements Part
public final class PasswordAuthentication
extends java.lang.Object
public final class Session
extends java.lang.Object
Là lớp chứa các phương thức nhận và thiết đặt các thuộc tính mặc định của 1 phiên kết nối
Ví như: getFolder(URLName url)
setPasswordAuthentication(URLName url,
PasswordAuthentication pw)