De nos jours, le courrier électronique joue un rôle de plus en plus important dans nos vies, et chacun de nous en y va (du moins de temps en temps, nous recevons un spam inexplicable). Au travail, l'utilisation d'e-mails pour communiquer peut rendre notre travail traçable et plus formel. Ceci est exploité manuellement par nous. Dans la vie, après avoir enregistré un compte sur un site Web, le site Web enverra automatiquement un e-mail de bienvenue et nous demandera de confirmer s'il faut s'inscrire pour prévenir l'inscription malveillante. Bien sûr, il est impossible de le faire fonctionner manuellement comme nous travaillons. Javamail dans 13 Core Technologies of Java nous fournit des API pour fonctionner liées aux e-mails.
1. Serveur de messagerie
Pour fournir des fonctionnalités par e-mail sur Internet, un serveur de messagerie dédié doit être disponible. Un grand nombre de serveurs de messagerie sont configurés sur Internet. Par exemple, des sites Web tels que SINA.com, QQ.com, 163.com fournissent des serveurs d'e-mails gratuits pour le public, et de nombreuses entreprises fournissent également des serveurs de messagerie pour les employés internes, qui peuvent envoyer et recevoir des e-mails les uns des autres. Alors, quelle est la fonction du serveur de messagerie? Il peut nous aider à envoyer des e-mails, à recevoir des e-mails et à nous fournir des services de ramassage de courrier. Ceci est similaire au bureau de poste dans la vraie vie. Il peut non seulement recevoir des e-mails, mais également fournir des services à récupérer des e-mails et nous aider également à envoyer des e-mails. Les images suivantes illustrent de manière vivante les fonctions du serveur de messagerie
(1) recevoir des e-mails livrés par les utilisateurs;
(2) transférer l'e-mail envoyé par l'utilisateur au serveur de messagerie cible;
(3) recevoir des e-mails transmis par d'autres serveurs de courrier et stocker les e-mails dans la boîte aux lettres de l'utilisateur qu'ils gèrent;
(4) Fournir des services de lecture aux utilisateurs qui viennent lire des e-mails.
Les serveurs de courrier peuvent être divisés en deux types en fonction des protocoles de communication: SMTP Server et POP3 / IMAP Server. Les fonctions 1, 2 et 3 dans la figure ci-dessus sont remplies par le serveur SMTP, tandis que les fonctions 4 sont remplies par le serveur POP3.
2. Courriel
Plusieurs adresses e-mail peuvent être ouvertes sur chaque serveur de messagerie. L'adresse e-mail est également appelée adresse e-mail. Il est similaire à l'adresse postale de la vie réelle. Les utilisateurs peuvent recevoir des e-mails d'autres et envoyer des e-mails à d'autres via cette adresse. L'obtention d'un e-mail nécessite une application sur le serveur de messagerie. Pour être précis, l'e-mail est en fait un compte que l'utilisateur applique sur le serveur de messagerie. Le serveur de messagerie enregistre le courrier reçu dans l'espace de boîte aux lettres alloué à un certain compte (nous devons donc nettoyer notre courrier régulièrement, sinon nous ne pourrons pas recevoir un nouveau courrier si l'espace alloué dépasse l'espace alloué). L'utilisateur se connecte au serveur de messagerie pour vérifier les e-mails reçus par l'adresse via le nom d'utilisateur et le mot de passe qu'il demande.
3. Le processus de transmission des e-mails
Le processus de transmission de l'e-mail peut être représenté par le chiffre suivant
La description du processus de ligne continue dans la figure ci-dessus:
1. Après le client de messagerie de [email protected] établit une connexion réseau avec le serveur SMTP de SINA, se connecte avec le nom d'utilisateur et le mot de passe de Lisi et utilise le protocole SMTP pour envoyer l'e-mail au serveur SMTP de SINA;
2. Après avoir reçu l'e-mail d'adresse soumis par [email protected], le serveur SMTP de SINA détermine d'abord si l'adresse e-mail du destinataire relève de la juridiction du serveur SMTP en fonction du suffixe d'adresse du destinataire. Si c'est le cas, le courrier sera stocké directement dans l'adresse e-mail du destinataire. Sinon, le serveur SMTP de SINA interrogera le serveur DNS pour l'enregistrement MX du nom de domaine représenté par le suffixe de l'adresse e-mail du destinataire (SOHU.com) pour obtenir les informations du serveur SMTP de SOHU, puis établir une connexion avec le serveur SMTP de SOHO et utiliser le protocole SMTP pour envoyer l'e-mail sur le serveur SMTP de SoHO;
3. Après que le serveur SMTP de SOHO reçoive l'e-mail du serveur SMTP de SINA, il déterminera également si l'e-mail relève de la juridiction du serveur SMTP en fonction de l'adresse du destinataire. Si c'est le cas, stockez l'e-mail directement dans la boîte aux lettres du destinataire. Sinon, le serveur SMTP de Sohu peut continuer à transmettre l'e-mail;
4. Le compte [email protected] établit une connexion réseau avec le serveur POP3 / IMAP de SOHO via le client, et après avoir réussi à vous connecter, puis vérifiez s'il y a un nouvel e-mail dans l'e-mail [email protected] via le protocole POP3 / IMAP. Si c'est le cas, utilisez le protocole POP3 ou IMAP pour lire l'e-mail dans la boîte aux lettres.
Le processus de ligne pointillée est similaire au processus de ligne continue et n'est plus répété.
L'API Javamail est un package de développement standard adopté par Sun pour faciliter les développeurs Java pour envoyer et recevoir un courrier à la ligne solide dans les applications. Il prend en charge certains protocoles de courrier couramment utilisés, tels que SMTP, POP3, IMAP et MIME. Pour utiliser cette API, bien sûr, vous devez d'abord télécharger le package JAR pertinent. La dernière version est 1.5.6, adresse de téléchargement: https://java.net/projects/javamail/pages/home.
L'API Javamail peut généralement être divisée en les trois catégories suivantes en fonction de ses fonctions:
1. API pour la création et l'analyse du contenu des e-mails: la classe de messages est l'API principale pour la création et l'analyse des e-mails, et son objet d'instance représente un e-mail;
2. API pour envoyer des e-mails: la classe de transport est la classe API de base pour envoyer des e-mails. Son objet d'instance représente l'objet envoyant le courrier qui implémente un certain protocole d'envoi d'e-mail, tel que le protocole SMTP;
3. API pour recevoir des e-mails: la classe de magasin est la classe API de base pour recevoir des e-mails. Son objet d'instance représente l'objet de réception par e-mail qui implémente un certain protocole de réception par e-mail, tel que le protocole POP3.
Classe de session:
La classe de session est utilisée pour définir les informations d'environnement requises par l'ensemble de l'application, ainsi que la collecte d'informations de session pour le client afin d'établir une connexion réseau avec le serveur de messagerie, telles que le nom d'hôte, le numéro de port et le protocole d'envoi et de réception du courrier utilisé. Les objets de session construisent le transport et le stockage des objets pour la transmission et la réception du courrier en fonction de ces informations, et fournissent une prise en charge des informations lors de la création d'objets de message pour les clients.
Les relations des 4 classes ci-dessus sont les suivantes:
La plupart du contenu ci-dessus est extrait du livre "Explication détaillée du développement du courrier Java". Next ArticleBeginner de Javamail Le deuxième article Créer un e-mail introduira comment créer un e-mail à l'aide de l'API fournie par Javamail.