API JavaMail - Présentation

L'API JavaMail fournit une infrastructure indépendante de la plate-forme et du protocole pour créer des applications de messagerie et de messagerie. L'API JavaMail fournit un ensemble de classes abstraites définissant des objets qui composent un système de messagerie. Il s'agit d'un package optionnel (extension standard) pour la lecture, la composition et l'envoi de messages électroniques.

JavaMail fournit des éléments utilisés pour construire une interface avec un système de messagerie, y compris des composants système et des interfaces. Bien que cette spécification ne définisse aucune implémentation spécifique, JavaMail inclut plusieurs classes qui implémentent les normes de messagerie Internet RFC822 et MIME. Ces classes sont fournies dans le cadre du package de classe JavaMail.

Voici quelques-uns des protocoles pris en charge dans l'API JavaMail:

  • SMTP: Acronyme de Simple Mail Transfer Protocol. Il fournit un mécanisme pour envoyer des e-mails.

  • POP: Acronyme de Post Office Protocol. POP est le mécanisme utilisé par la plupart des internautes pour recevoir leur courrier. Il définit la prise en charge d'une seule boîte aux lettres pour chaque utilisateur. La RFC 1939 définit ce protocole.

  • IMAP: Acronyme de Internet Message Access Protocol. C'est un protocole avancé pour recevoir des messages. Il prend en charge plusieurs boîtes aux lettres pour chaque utilisateur, en plus, la boîte aux lettres peut être partagée par plusieurs utilisateurs. Il est défini dans la RFC 2060.

  • MIME: Acronyme de Multipurpose Internet Mail Extensions. . Ce n'est pas un protocole de transfert de courrier. Au lieu de cela, il définit le contenu de ce qui est transféré: le format des messages, des pièces jointes, etc. Il existe de nombreux documents différents qui entrent en vigueur ici: RFC 822, RFC 2045, RFC 2046 et RFC 2047. En tant qu'utilisateur de l'API JavaMail, vous n'avez généralement pas à vous soucier de ces formats. Cependant, ces formats existent et sont utilisés par vos programmes.

  • NNTP and Others: De nombreux protocoles sont fournis par des fournisseurs tiers. Certains d'entre eux sont le protocole NNTP (Network News Transfer Protocol), les extensions de messagerie Internet polyvalentes sécurisées (S / MIME), etc.

Les détails de ceux-ci seront traités dans les chapitres suivants.

Architecture

Comme indiqué ci-dessus, l'application java utilise l'API JavaMail pour composer, envoyer et recevoir des e-mails.La figure suivante illustre l'architecture de JavaMail:

Le mécanisme abstrait de l'API JavaMail est similaire à d'autres API J2EE, telles que JDBC, JNDI et JMS. Comme le montre le diagramme d'architecture ci-dessus, l'API JavaMail est divisée en deux parties principales:

  • Une partie indépendante de l'application: une interface de programmation d'application (API) est utilisée par les composants d'application pour envoyer et recevoir des messages électroniques, indépendamment du fournisseur sous-jacent ou du protocole utilisé.

  • Une partie dépendant du service: une interface de fournisseur de services (SPI) parle les langues spécifiques au protocole, telles que SMTP, POP, IMAP et NNTP (Network News Transfer Protocol). Il est utilisé pour connecter un fournisseur de service de messagerie à la plate-forme J2EE.