JavaMail: Accéder aux informations de l’en-tête de l’email

Author:

classe,serveur, url, url, email, Enumeration, javaMail, session, JavaMail, java
Download

import java.util.Enumeration;
import java.util.Properties;
 
import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Header;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.URLName;
 
public class JavaMailHeader
 {
 
/**
 *  Lire les en-tête d'un email
 *  avec la classe Header de JavaMail
 *  From:
 *  Reply-to:
 *  To:
 *  .
 *  .
 *  .
 **/
 
  public static void main(String[] args) throws Exception
  {
  	// définir le lien vers le serveur
    URLName server = new URLName("protocol://nom_utilis@host/Boite d'envoi");
 
    // 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("username", "password");
                     }
    	 }
    	 	);
 
    Folder inbox = session.getFolder(server);
    if (inbox != null) {
      inbox.open(Folder.READ_ONLY);
 
      Message[] messages = inbox.getMessages();
      for (int i = 0; i < messages.length; i++) {
        System.out.println((i + 1));
        Enumeration headers = messages[i].getAllHeaders();
        while (headers.hasMoreElements()) {
          Header h = (Header) headers.nextElement();
          System.out.println(h.getName() + ": " + h.getValue());
        }
      }
      inbox.close(false);
    }
  }
}