JavaMail API - Tổng quan
JavaMail API cung cấp một khuôn khổ độc lập với nền tảng và không phụ thuộc vào giao thức để xây dựng các ứng dụng thư và nhắn tin. API JavaMail cung cấp một tập hợp các lớp trừu tượng xác định các đối tượng bao gồm một hệ thống thư. Nó là một gói tùy chọn (phần mở rộng tiêu chuẩn) để đọc, soạn và gửi tin nhắn điện tử.
JavaMail cung cấp các phần tử được sử dụng để xây dựng giao diện cho hệ thống nhắn tin, bao gồm các thành phần và giao diện hệ thống. Mặc dù đặc điểm kỹ thuật này không xác định bất kỳ triển khai cụ thể nào, nhưng JavaMail bao gồm một số lớp thực hiện các tiêu chuẩn nhắn tin Internet RFC822 và MIME. Các lớp này được phân phối như một phần của gói lớp JavaMail.
Sau đây là một số giao thức được hỗ trợ trong JavaMail API:
SMTP: Viết tắt của Simple Mail Transfer Protocol. Nó cung cấp một cơ chế để gửi email.
POP: Viết tắt của Post Office Protocol. POP là cơ chế mà hầu hết mọi người trên Internet sử dụng để nhận thư của họ. Nó xác định hỗ trợ cho một hộp thư duy nhất cho mỗi người dùng. RFC 1939 định nghĩa giao thức này.
IMAP: Viết tắt của Internet Message Access Protocol. Nó là một giao thức tiên tiến để nhận tin nhắn. Nó cung cấp hỗ trợ cho nhiều hộp thư cho mỗi người dùng, ngoài ra, hộp thư có thể được chia sẻ bởi nhiều người dùng. Nó được định nghĩa trong RFC 2060.
MIME: Viết tắt của Multipurpose Internet Mail Extensions. . Nó không phải là một giao thức chuyển thư. Thay vào đó, nó xác định nội dung của những gì được chuyển: định dạng của thư, tệp đính kèm, v.v. Có nhiều tài liệu khác nhau có hiệu lực ở đây: RFC 822, RFC 2045, RFC 2046 và RFC 2047. Là người dùng JavaMail API, bạn thường không cần lo lắng về các định dạng này. Tuy nhiên, các định dạng này vẫn tồn tại và được sử dụng bởi các chương trình của bạn.
NNTP and Others: Có nhiều giao thức được cung cấp bởi các nhà cung cấp bên thứ ba. Một số trong số đó là Giao thức truyền tin tức mạng (NNTP), Tiện ích mở rộng thư Internet đa năng an toàn (S / MIME), v.v.
Chi tiết về những điều này sẽ được đề cập trong các chương tiếp theo.
Ngành kiến trúc
Như đã nói ở trên, ứng dụng java sử dụng JavaMail API để soạn, gửi và nhận email. Hình sau minh họa kiến trúc của JavaMail:
Cơ chế trừu tượng của JavaMail API tương tự như các API J2EE khác, chẳng hạn như JDBC, JNDI và JMS. Như đã thấy sơ đồ kiến trúc ở trên, JavaMail API được chia thành hai phần chính:
Phần độc lập với ứng dụng: Giao diện lập trình ứng dụng (API) được các thành phần ứng dụng sử dụng để gửi và nhận thư, độc lập với nhà cung cấp hoặc giao thức cơ bản được sử dụng.
Phần phụ thuộc vào dịch vụ: Giao diện nhà cung cấp dịch vụ (SPI) nói các ngôn ngữ dành riêng cho giao thức, chẳng hạn như SMTP, POP, IMAP và Giao thức truyền tin tức mạng (NNTP). Nó được sử dụng để kết nối một nhà cung cấp dịch vụ e-mail với nền tảng J2EE.