JavaMail API - przegląd

JavaMail API zapewnia niezależną od platformy i protokołów strukturę do tworzenia aplikacji do obsługi poczty i przesyłania wiadomości. JavaMail API udostępnia zestaw abstrakcyjnych klas definiujących obiekty składające się na system pocztowy. Jest to opcjonalny pakiet (standardowe rozszerzenie) do czytania, tworzenia i wysyłania wiadomości elektronicznych.

JavaMail zawiera elementy używane do konstruowania interfejsu do systemu przesyłania wiadomości, w tym komponenty i interfejsy systemu. Chociaż ta specyfikacja nie definiuje żadnej konkretnej implementacji, JavaMail zawiera kilka klas, które implementują standardy komunikacji internetowej RFC822 i MIME. Te klasy są dostarczane jako część pakietu klas JavaMail.

Oto niektóre z protokołów obsługiwanych w JavaMail API:

  • SMTP: Akronim dla Simple Mail Transfer Protocol. Zapewnia mechanizm dostarczania poczty elektronicznej.

  • POP: Akronim dla Post Office Protocol. POP to mechanizm używany przez większość ludzi w Internecie do odbierania poczty. Definiuje obsługę jednej skrzynki pocztowej dla każdego użytkownika. RFC 1939 definiuje ten protokół.

  • IMAP: Akronim dla Internet Message Access Protocol. Jest to zaawansowany protokół do odbierania wiadomości. Zapewnia obsługę wielu skrzynek pocztowych dla każdego użytkownika, ponadto skrzynka pocztowa może być współużytkowana przez wielu użytkowników. Jest zdefiniowany w RFC 2060.

  • MIME: Akronim dla Multipurpose Internet Mail Extensions. . Nie jest to protokół przesyłania poczty. Zamiast tego definiuje treść przesyłanych elementów: format wiadomości, załączników i tak dalej. Istnieje wiele różnych dokumentów, które wchodzą w życie w tym miejscu: RFC 822, RFC 2045, RFC 2046 i RFC 2047. Jako użytkownik JavaMail API zazwyczaj nie musisz się martwić o te formaty. Jednak te formaty istnieją i są używane przez Twoje programy.

  • NNTP and Others: Istnieje wiele protokołów udostępnianych przez dostawców zewnętrznych. Niektóre z nich to Network News Transfer Protocol (NNTP), Secure Multipurpose Internet Mail Extensions (S / MIME) itp.

Szczegóły tego zostaną omówione w kolejnych rozdziałach.

Architektura

Jak wspomniano powyżej, aplikacja Java wykorzystuje API JavaMail do tworzenia, wysyłania i odbierania wiadomości e-mail. Poniższy rysunek ilustruje architekturę JavaMail:

Abstrakcyjny mechanizm interfejsu API JavaMail jest podobny do innych interfejsów API J2EE, takich jak JDBC, JNDI i JMS. Jak widać na powyższym diagramie architektury, JavaMail API jest podzielony na dwie główne części:

  • Część niezależna od aplikacji: interfejs programowania aplikacji (API) jest używany przez składniki aplikacji do wysyłania i odbierania wiadomości e-mail, niezależnie od dostawcy bazowego lub używanego protokołu.

  • Część zależna od usługi: interfejs dostawcy usług (SPI) mówi w językach specyficznych dla protokołu, takich jak SMTP, POP, IMAP i Network News Transfer Protocol (NNTP). Służy do podłączenia dostawcy usługi poczty elektronicznej do platformy J2EE.