Article précédent Article Introduction à Javamail Dans le troisième article pour envoyer des e-mails, nous avons appris à utiliser la classe de transport fournie par l'API Javamail pour envoyer des e-mails. De même, l'API Javamail fournit également quelques classes spéciales pour effectuer des opérations connexes à la réception des e-mails. Avant d'introduire ces classes, comprenons d'abord l'architecture de l'API de réception par e-mail. L'API Javamail définit une classe java.mail.store, qui est utilisée pour effectuer des tâches de réception de messagerie. Nous appelons des méthodes dans cette classe dans le programme pour obtenir des informations sur chaque dossier de messagerie dans la boîte aux lettres. Javamail utilise l'objet de dossier pour représenter le dossier de messagerie. Grâce à la méthode de l'objet de dossier, toutes les informations par e-mail dans le dossier de messagerie peuvent être obtenues. Nous savons que les informations de l'e-mail peuvent être représentées par l'objet de message. La classe de messages contient diverses méthodes pour faire fonctionner l'e-mail, comme l'obtention de l'expéditeur, le sujet, le contenu du corps, l'envoi de temps, etc. Leur relation de travail est la suivante:
1. Obtenez un objet de magasin qui met en œuvre un certain protocole d'envoi d'e-mail à partir de l'objet de session;
2. Connectez-vous à l'adresse e-mail et connectez-vous au serveur POP3 ou IMAP4;
3. Appelez la méthode GetFolder du magasin pour obtenir l'objet de dossier d'un certain dossier de messagerie dans la boîte aux lettres;
4. Appelez la méthode GetMessage ou GetMessages dans l'objet de dossier pour obtenir un certain e-mail ou tous les e-mails dans le dossier Mail. Chaque e-mail est renvoyé en tant qu'objet de message.
Ensuite, nous utilisons la classe ci-dessus pour recevoir des e-mails
Importer java.util.properties; importer javax.mail.address; import javax.mail.folder; import javax.mail.message; import javax.mail.session; import javax.mail.store; classe MailReceives {public static Void Main (String [] args) lance exception {// définir les informations d'attribut pour la connexion de la chaîne de Pop3 pop3server = "pop.qq.com"; String protocole = "POP3"; String username = "[email protected]"; String mot de passe = "******************"; // La boîte aux lettres du code d'autorisation SMTP de QQ, quel est le code d'autorisation et comment est-il défini? Properties props = news properties (); Prophes.setProperty ("Mail.transport.protocol", protocole); // Protocole utilisé (requis par Javamail Specification) props.setProperty ("mail.smtp.host", pop3Server); // L'adresse du serveur SMTP de la boîte aux lettres de l'expéditeur // obtient la session de connexion Session Session = session.getDefaultInstance (Props); session.setDebug (false); // Obtenez le magasin Store Store Store = Session.getStore (protocole); store.connect (pop3server, nom d'utilisateur, mot de passe); // Authentification de connexion de POP3 Server // Lors de l'obtention d'un objet de magasin via le protocole POP3, le nom du dossier de messagerie ne peut être spécifié que comme "Folder Folder de réception = store.getFolder (" Inbox "); // obtient le Folder.Open.Open de l'e-mail de l'utilisateur (Folder.Read_Write); // Définir l'accès au message du compte Message [] messages = dossier.getMessages (); // Obtenez tous les messages dans le compte de messagerie pour (message Message: Messages) {String Suject = Message.getSubject (); // Obtenez l'adresse d'e-mail de l'objet de = (adresse) Message.getFrom () [0]; System.out.println ("Le contenu du message est:"); Message.WriteTo (System.out); // Sortie le contenu de l'e-mail vers la console} dossier.close (false); // Fermez le dossier Object Store.close (); // Fermez l'objet de connexion}}Résultat de sortie de la console:
Vous pouvez voir que la console publie le contenu d'origine de l'e-mail, qui n'a pas encore été analysé, il doit donc être analysé avant de lire. Le prochain article, Introduction à Javamail, chapitre 5, analyse des e-mails, expliquera comment analyser les e-mails.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.