JavaMail: Exemple de Transfert des emails entre les répertoires Mail

Author:

 url, méthode, set, stack, url, email, javaMail, session, JavaMail, java
{filelink=1024}


import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.URLName;

public class JavaMail_Transfert
 {

 	/**
 	 * La méthode copie les messages d'un
 	 * répertoire email dans un autre.
 	 *
 	 **/

 	  private static void transfert(Folder rep_source, Folder rep_dest, int de_msg, int a_msg)
  	throws Exception
  {

  	  // Vérifier si le répertoire source contient des messages
  	      if (rep_source.getMessageCount() == 0)
  	  {
        System.out.println("Le répertoire source ne contient aucun message");
        rep_source.close(false);
        System.exit(1);
      }

      // Créer le répertoire dedestination s'il n'existe pas
      if (!rep_dest.exists())
        rep_dest.create(Folder.HOLDS_MESSAGES);

  	  // Sélectionner les messages entre 'de_msg' et 'a_msg'
  	  Message[] msgs = rep_source.getMessages(de_msg, a_msg);

      // Copier les messages sélectionnés dans le répertoire de destionation
      rep_source.copyMessages(msgs, rep_dest);
      System.out.println("Copie terminée avec succès");

      // Fermer le répertoire
      rep_source.close(false);

  }

  public static void main(String argv[])  throws Exception
  	{

    try {

      URLName url = new URLName("pop3://username@pop.gmail.com/Inbox");

      Session session = Session.getInstance(System.getProperties(), null);
      session.setDebug(false);

      Store store = session.getStore(url);
      store.connect();
      System.out.println("Vous êtes connecté");

      Folder boite_recep = store.getFolder("Inbox");
      boite_recep.open(Folder.READ_WRITE);

      Folder boite_contact = store.getFolder("Contact");

      transfert(boite_recep, boite_contact, 0, 15);

    }
    catch (Exception err)
   {
      err.printStackTrace();
    }

    System.exit(0);
  }

}

Leave a Reply

Your email address will not be published. Required fields are marked *