Учебники

JavaMail API — Обзор

JavaMail API предоставляет независимую от платформы и не зависящую от протокола структуру для создания приложений почты и обмена сообщениями. JavaMail API предоставляет набор абстрактных классов, определяющих объекты, составляющие почтовую систему. Это необязательный пакет (стандартное расширение) для чтения, составления и отправки электронных сообщений.

JavaMail предоставляет элементы, которые используются для создания интерфейса к системе обмена сообщениями, включая системные компоненты и интерфейсы. Хотя эта спецификация не определяет какую-либо конкретную реализацию, JavaMail включает в себя несколько классов, которые реализуют стандарты обмена сообщениями RFC822 и MIME. Эти классы поставляются как часть пакета классов JavaMail.

Ниже приведены некоторые из протоколов, поддерживаемых в JavaMail API:

  • SMTP : Сокращение от простого протокола пересылки почты . Он обеспечивает механизм доставки электронной почты.

  • POP : аббревиатура для почтового протокола . POP — это механизм, который большинство людей в Интернете используют для получения своей почты. Он определяет поддержку одного почтового ящика для каждого пользователя. RFC 1939 определяет этот протокол.

  • IMAP : Аббревиатура для протокола доступа к интернет-сообщениям . Это расширенный протокол для получения сообщений. Он обеспечивает поддержку нескольких почтовых ящиков для каждого пользователя, в дополнение к тому, что почтовый ящик может совместно использоваться несколькими пользователями. Это определено в RFC 2060.

  • MIME : Аббревиатура для многоцелевых расширений электронной почты в Интернете . , Это не протокол передачи почты. Вместо этого он определяет содержание того, что передается: формат сообщений, вложения и так далее. Здесь действует множество различных документов: RFC 822, RFC 2045, RFC 2046 и RFC 2047. Как пользователь JavaMail API, вам обычно не нужно беспокоиться об этих форматах. Однако эти форматы существуют и используются вашими программами.

  • NNTP и другие . Существует множество протоколов, предоставляемых сторонними поставщиками. Некоторыми из них являются протокол передачи сетевых новостей (NNTP), безопасные многоцелевые расширения электронной почты в Интернете (S / MIME) и т. Д.

SMTP : Сокращение от простого протокола пересылки почты . Он обеспечивает механизм доставки электронной почты.

POP : аббревиатура для почтового протокола . POP — это механизм, который большинство людей в Интернете используют для получения своей почты. Он определяет поддержку одного почтового ящика для каждого пользователя. RFC 1939 определяет этот протокол.

IMAP : Аббревиатура для протокола доступа к интернет-сообщениям . Это расширенный протокол для получения сообщений. Он обеспечивает поддержку нескольких почтовых ящиков для каждого пользователя, в дополнение к тому, что почтовый ящик может совместно использоваться несколькими пользователями. Это определено в RFC 2060.

MIME : Аббревиатура для многоцелевых расширений электронной почты в Интернете . , Это не протокол передачи почты. Вместо этого он определяет содержание того, что передается: формат сообщений, вложения и так далее. Здесь действует множество различных документов: RFC 822, RFC 2045, RFC 2046 и RFC 2047. Как пользователь JavaMail API, вам обычно не нужно беспокоиться об этих форматах. Однако эти форматы существуют и используются вашими программами.

NNTP и другие . Существует множество протоколов, предоставляемых сторонними поставщиками. Некоторыми из них являются протокол передачи сетевых новостей (NNTP), безопасные многоцелевые расширения электронной почты в Интернете (S / MIME) и т. Д.

Детали этого будут рассмотрены в следующих главах.

Архитектура

Как сказано выше, Java-приложение использует JavaMail API для создания, отправки и получения электронной почты. На следующем рисунке показана архитектура JavaMail:

JavaMail API Архитектура

Абстрактный механизм JavaMail API похож на другие J2EE API, такие как JDBC, JNDI и JMS. Как видно на диаграмме архитектуры выше, JavaMail API делится на две основные части:

Независимая от приложения часть. Интерфейс прикладного программирования (API) используется компонентами приложения для отправки и получения почтовых сообщений независимо от используемого основного поставщика или протокола.

Зависимая от службы часть: интерфейс поставщика услуг (SPI) говорит на языках протокола, таких как SMTP, POP, IMAP и протокол передачи сетевых новостей (NNTP). Он используется для подключения поставщика услуг электронной почты к платформе J2EE.