JavaMail API - Übersicht
Die JavaMail-API bietet ein plattformunabhängiges und protokollunabhängiges Framework zum Erstellen von Mail- und Messaging-Anwendungen. Die JavaMail-API bietet eine Reihe abstrakter Klassen, die Objekte definieren, aus denen ein Mailsystem besteht. Es ist ein optionales Paket (Standarderweiterung) zum Lesen, Verfassen und Senden elektronischer Nachrichten.
JavaMail bietet Elemente, mit denen eine Schnittstelle zu einem Messagingsystem erstellt wird, einschließlich Systemkomponenten und Schnittstellen. Während diese Spezifikation keine spezifische Implementierung definiert, enthält JavaMail mehrere Klassen, die RFC822- und MIME-Internet-Messaging-Standards implementieren. Diese Klassen werden als Teil des JavaMail-Klassenpakets geliefert.
Im Folgenden sind einige der von der JavaMail-API unterstützten Protokolle aufgeführt:
SMTP: Akronym für Simple Mail Transfer Protocol. Es bietet einen Mechanismus zum Zustellen von E-Mails.
POP: Akronym für Post Office Protocol. POP ist der Mechanismus, den die meisten Leute im Internet verwenden, um ihre E-Mails zu erhalten. Es definiert die Unterstützung für ein einzelnes Postfach für jeden Benutzer. RFC 1939 definiert dieses Protokoll.
IMAP: Akronym für Internet Message Access Protocol. Es ist ein erweitertes Protokoll zum Empfangen von Nachrichten. Es bietet Unterstützung für mehrere Postfächer für jeden Benutzer. Darüber hinaus kann das Postfach von mehreren Benutzern gemeinsam genutzt werden. Es ist in RFC 2060 definiert.
MIME: Akronym für Multipurpose Internet Mail Extensions. . Es ist kein Mail-Übertragungsprotokoll. Stattdessen wird der Inhalt der Übertragung definiert: das Format der Nachrichten, Anhänge usw. Hier werden viele verschiedene Dokumente wirksam: RFC 822, RFC 2045, RFC 2046 und RFC 2047. Als Benutzer der JavaMail-API müssen Sie sich normalerweise nicht um diese Formate kümmern. Diese Formate existieren jedoch und werden von Ihren Programmen verwendet.
NNTP and Others: Es gibt viele Protokolle, die von Drittanbietern bereitgestellt werden. Einige davon sind NNTP (Network News Transfer Protocol), S / MIME (Secure Multipurpose Internet Mail Extensions) usw.
Details dazu werden in den folgenden Kapiteln behandelt.
Die Architektur
Wie oben erwähnt, verwendet die Java-Anwendung die JavaMail-API zum Erstellen, Senden und Empfangen von E-Mails. Die folgende Abbildung zeigt die Architektur von JavaMail:
Der abstrakte Mechanismus der JavaMail-API ähnelt anderen J2EE-APIs wie JDBC, JNDI und JMS. Wie aus dem obigen Architekturdiagramm hervorgeht, ist die JavaMail-API in zwei Hauptteile unterteilt:
Ein anwendungsunabhängiger Teil: Eine Anwendungsprogrammierschnittstelle (API) wird von den Anwendungskomponenten zum Senden und Empfangen von E-Mail-Nachrichten verwendet, unabhängig vom zugrunde liegenden Anbieter oder Protokoll.
Ein dienstabhängiger Teil: Eine Dienstanbieterschnittstelle (SPI) spricht die protokollspezifischen Sprachen wie SMTP, POP, IMAP und Network News Transfer Protocol (NNTP). Es wird verwendet, um einen Anbieter eines E-Mail-Dienstes an die J2EE-Plattform anzuschließen.