JavaMail: Comment utiliser Java pour lire et traiter les emails

Author:

serveur, url, date, set, url, html, email, Connexion, javaMail, session, JavaMail, java, connexion
Download

import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Flags;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.URLName;
import javax.mail.internet.InternetAddress;
 
/**
 * @Auteur adams
 * Ce programme Ouvre une connexion
 * sur votre compte yahoo ensuite
 * il lit les messages de la boîte de réception
 * et affiche les propriétés de chaque email.
 *
 * Pour configurer votre compte Yahoo afin d'utiliser ce programme.
 * visitez ce lien:
 * http://help.yahoo.com/l/ca/yahoo/mail/yahoomail/mailplus/pop/pop-14.html
 **/
 
public class Ex_JavaMail
 {
 
  public static void main(String[] args) throws Exception
  	{
 
  	//	Définition d'un URLName pour construire un lien
    URLName rep_Serveur = new URLName("pop3://username@pop.mail.yahoo.ca/Inbox");
 
    // Ouvrir une session avec le nom d'utilisateur et le mot de passe
    Session session = Session.getDefaultInstance(new Properties(),
    	 new Authenticator()
    	 {
    	 	  public PasswordAuthentication getPasswordAuthentication()
    	 	  	     {
                  return new PasswordAuthentication("compteyahoo", "mot de passe yahoo");
                     }
    	 }
    	 	);
 
    // Accéder à la boite de réception
    Folder inbox = session.getFolder(rep_Serveur);
    if (inbox == null) {
      System.out.println("Répertoire" + rep_Serveur.getFile() + " Introuvable");
      System.exit(1);
    }
    inbox.open(Folder.READ_ONLY);
 
    // Lire les messages du Serveur
    Message[] messages = inbox.getMessages();
    for (int i = 0; i < messages.length; i++)
     {
      // Les Informations de l'en-tête
      System.out.println("From: " + InternetAddress.toString(messages[i].getFrom()));
      System.out.println("Reply-to: " + InternetAddress.toString(messages[i].getReplyTo()));
      System.out.println("To: " + InternetAddress.toString(messages[i].getRecipients(Message.RecipientType.TO)));
      System.out.println("Cc: " + InternetAddress.toString(messages[i].getRecipients(Message.RecipientType.CC)));
      System.out.println("Bcc: " + InternetAddress.toString(messages[i].getRecipients(Message.RecipientType.BCC)));
      System.out.println("Suject: " + messages[i].getSubject());
 
      System.out.println("Envoyé le: " + messages[i].getSentDate());
      System.out.println("Reçu le: " + messages[i].getReceivedDate());
 
      // Véfrifier si le message a été lu
      if (messages[i].isSet(Flags.Flag.SEEN))
      {
        System.out.println("Lu");
      }
 
      // Véfrifier si le message est récent
      if (messages[i].isSet(Flags.Flag.RECENT))
      {
        System.out.println("Récent");
      }
 
      // Véfrifier si le message a été supprimé
      if (messages[i].isSet(Flags.Flag.DELETED))
      {
        System.out.println("Supprimé");
      }
      // Véfrifier si le message a été répondu
      if (messages[i].isSet(Flags.Flag.ANSWERED))
      {
        System.out.println("Répondu");
      }
 
      // Véfrifier si le message est un brouillon
      if (messages[i].isSet(Flags.Flag.DRAFT))
      {
        System.out.println("Brouillon");
      }
 
      // Véfrifier si le message a été marqué
      if (messages[i].isSet(Flags.Flag.FLAGGED))
      {
        System.out.println("Mrqué");
      }
 
    }
 
    // Fermer la boîte de réception
    inbox.close(false);
  }
}