Maison  >  Article  >  Java  >  Réception d'e-mails en Java

Réception d'e-mails en Java

WBOY
WBOYoriginal
2024-08-30 15:56:47947parcourir

La réception d'e-mails en Java correspond aux classes Store et Folder utilisées conjointement avec les classes MimeMessage, Session et Transport. Il est utilisé pour recevoir des e-mails et apprendre les étapes d’envoi d’e-mails de l’API JavaMail. La classe de test emailreceive prendra contact avec le serveur de messagerie à proximité et les e-mails du compte et les affichera pour indiquer l'adresse IP dans le fichier de configuration de l'hôte pour le nom d'hôte et pop3 qui est le type de protocole de magasin de messagerie préféré.

Réception d'e-mails en Java

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Points clés à retenir

  • Lors de l'utilisation de l'API JavaMail, les e-mails sont reçus à l'aide des classes Store et Folder.
  • Les e-mails peuvent être envoyés et reçus à l'aide des API Java. Les protocoles sous-jacents n'ont aucune incidence sur cette couche.
  • Obtenez une instance de session à l'aide des méthodes getDefaultInstance() ou getInstance() de la classe Session. Pour produire l'objet boutique POP3 et créer un lien vers le pop store.
  • Après avoir exécuté la méthode getFolder() sur l'objet store, créez l'objet dossier et ouvrez-le dans la boîte aux lettres.
  • Récupérez les messages de l'objet dossier.
  • Verrouillez le dossier et rangez les éléments.

Qu'est-ce que la réception d'e-mails en Java ?

Pour en savoir plus sur les étapes d'envoi d'e-mails de l'API JavaMail, la classe de test emailreceive prendra contact avec le serveur de messagerie à proximité, se connectera aux e-mails du compte et les affichera pour mettre en évidence l'adresse IP dans le fichier de configuration de l'hôte pour le nom d'hôte. et pop3 est le type de protocole de magasin de messagerie préféré.

La réception d'e-mails s'effectue à l'aide des classes Store et Folder en conjonction avec les classes MimeMessage, Session et Transport. Le programme reçoit des e-mails sous forme de requêtes HTTP. Nous devons associer les adresses e-mail aux servlets dans la configuration de l'application afin de traiter les e-mails entrants, et nous devons ensuite inclure le code du servlet dans l'application Web. Les servlets appropriés reçoivent les requêtes HTTP de l'e-mail entrant pour traiter les requêtes et envoyer la réponse.

Créer un e-mail de réception dans une classe Java

Nous avons examiné l'utilisation de l'API Java Mail pour envoyer des e-mails. Avec un seul protocole (SMTP) à apprendre, l'envoi d'e-mails était plutôt simple. POP3 et IMAP sont néanmoins les deux protocoles utilisés pour la réception. Le protocole POP3, plus traditionnel, offre une seule boîte de réception avec une seule file d'attente de messages électroniques. La norme la plus récente, IMAP, affiche le courrier sous forme d'entrées dans une hiérarchie de dossiers, dont l'un sera une boîte de réception.

Procédures de réception du courrier

  • Définissez les propriétés de messagerie qui utilisent la classe de propriétés pour définir le protocole et le serveur de messagerie.
  • Créez la session avec les attributs que nous avons déjà définis pour lire la lettre.
  • Établissez une connexion et créez une boutique pour lire les messages.
  • Définissez et ouvrez le dossier que nous devons lire et le dossier en lecture seule doit être ouvert.
  • Parcourez le contenu non lu du dossier choisi et enregistrez les résultats dans un tableau de messages.
  • Affichez ensuite les messages.

Deux fichiers Jar dans JavaMail

Les implémentations des fournisseurs POP3 et IMAP, ainsi que leurs homologues sécurisés, POP3S et IMAPS, sont incluses avec Java Mail.

Nous devons charger les deux fichiers jar suivants afin d'envoyer des emails à l'aide de l'API JavaMail :

Réception d'e-mails en Java

  • mail.jar
  • activation.jar

Nous pouvons intégrer l'implémentation de l'API JavaMail, qui est totalement gratuite et open source, dans le produit. Cette édition sera également proposée avec les fournisseurs SMTP, POP3 et IMAP. Une API Jakarta EE appelée Jakarta Mail qui est principalement utilisée pour envoyer et recevoir des e-mails via les protocoles SMTP, POP3 et IMAP. La plate-forme Java EE comprend une version intégrée de Jakarta Mail, mais les utilisateurs de Java SE peuvent également utiliser un package supplémentaire. Dans la version la plus récente publiée ces derniers mois ainsi qu'une autre implémentation open source de Java Mail, GNU JavaMail, ne prend en charge que la version 1.3 de la spécification JavaMail mais n'offre que le backend NNTP gratuit, permettant l'utilisation de cette technologie pour la lecture et l'envoi. articles de groupes de discussion.

  • Mail.jar : Nous pouvons intégrer l'implémentation de l'API JavaMail, qui est totalement gratuite et open source, dans le produit. De plus, les fournisseurs IMAP, POP3 et SMTP sont inclus dans cette édition jar.
  • Activation.jar : Les classes JavaBeans Activation Framework sont contenues dans ce fichier JAR (Java Archive). Démos : une collection de démos simples non prises en charge qui utilisaient plusieurs fonctionnalités JAF disponibles dans ce répertoire. Un répertoire contenant les descriptions de l'API Javadoc pour les classes publiques du JAF sert de documentation.

Exemple de réception d'e-mails en Java

Vous trouverez ci-dessous l'exemple mentionné :

Code :

package TestNG;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;
import com.sun.mail.pop3.POP3Store;
public class NewTest{
public static void receiveEmail(String hst, String stype,
String user, String password) {
try {
Properties props = new Properties();
props.put("mail.store.protocol", "pop3");
props.put("mail.pop3s.host", hst);
props.put("mail.pop3s.port", "995");
props.put("mail.pop3.starttls.enable", "true");
Session sess = Session.getDefaultInstance(props);
Store st = sess.getStore("pop3s");
st.connect(hst, user, password);
Folder emailFolder = st.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
Message[] messages = emailFolder.getMessages();
for (int i = 0; i < messages.length; i++) {
Message message = messages[i];
System.out.println("Welcome To Email");
System.out.println("Email Number " + (i + 1));
System.out.println("Subject: " + message.getSubject());
System.out.println("From: " + message.getFrom()[0]);
System.out.println("Text: " + message.getContent().toString());
}
emailFolder.close(false);
st.close();
} catch (NoSuchProviderException e) {e.printStackTrace();}
catch (MessagingException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
}
public static void main(String[] args) {
String host = "pop.gmail.com";
String stypes = "pop3";
String username= "[email protected]";
String password= "xodbizaoiqijifre";
receiveEmail(host, stypes, username, password);
}
}

Sortie :

Réception d'e-mails en Java

Explication :

  • Dans l'exemple ci-dessus, nous recevions des e-mails des services de messagerie Java.
  • Ici, en utilisant le magasin, pop3 et d'autres services SMTP pour connecter des utilisateurs de messagerie spécifiques.
  • Utiliser les tableaux Folder et Messages[] consiste à créer l'instance et à stocker les données à un moment précis.
  • Pour que la boucle itère les données et valide la condition requise, enfin elle imprime toutes les données.
  • La méthode principale appellera la méthode et créera à nouveau l'instance de connexion pour effectuer cette opération.

FAQ

Vous trouverez ci-dessous les FAQ mentionnées :

Q1. Définir Java Réception du courrier électronique.

Réponse :

L'utilisation de l'API JavaMail pour récupérer ou recevoir un e-mail de base avec des protocoles sous-jacents n'a aucune incidence sur cette couche.

Q2. Quels sont les protocoles utilisés pour recevoir l'email en java ?

Réponse :

  • IMAP
  • POP3

Parmi eux, IMAP est un protocole avancé pour recevoir des messages.

Q3. Comment puis-je recevoir des e-mails Java ?

Réponse :

  • Acquérir l'objet de session.
  • Connectez-vous au serveur pop et construisez l'objet POP3 ou store.
  • Ouvrez l'objet dossier après l'avoir créé.
  • Imprimez un tableau des messages que vous avez récupérés du dossier.
  • Fermez le dossier et stockez les objets.

Conclusion

Le programme reçoit des e-mails sous forme de requêtes HTTP. Nous devons associer les adresses e-mail aux servlets dans la configuration de l'application afin de traiter les e-mails entrants, nous devons inclure le code du servlet dans l'application. Ensuite, les servlets appropriés reçoivent les requêtes HTTP du courrier électronique entrant et les gèrent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Supprimer un e-mail en JavaArticle suivant:Supprimer un e-mail en Java