import java.util.Properties; import javax.mail.Folder; import javax.mail.FolderNotFoundException; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Store; import javax.mail.URLName; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class JavaMail_Namespace { public static void main(String argv[]) { try { final String username="exemple_utilisateur"; final String password="mot de pass-***"; // Définition d'un URLName pour construire un lien URLName rep_Serveur = new URLName("pop3://test@pop.gmail.com/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(username, password); } } ); Store store = session.getStore(rep_Serveur); // Ouvrir la connexion store.connect(); affiche_Info("Personnel", store.getPersonalNamespaces()); affiche_Info("Utilisateur " , store.getUserNamespaces(username)); affiche_Info("Partagé", store.getSharedNamespaces()); store.close(); } catch (Exception ex) { System.out.println("Erreur " + ex.getMessage()); ex.printStackTrace(); } System.exit(0); } private static void affiche_Info(String name, Folder[] folders) throws MessagingException { System.out.println(" Namespace "+ name +":" ); if (folders == null || folders.length == 0) { System.out.println(" <aucun>"); return; } for (int i = 0; i < folders.length; i++) { String fn = folders[i].getFullName(); if (fn.length() == 0) fn = "<default folder>"; try { System.out.println(" " + fn + ", délimiteur " + folders[i].getSeparator() + ""); Folder[] fl = folders[i].list(); if (fl.length > 0) { System.out.println(" Sous-Répertoire:"); for (int j = 0; j < fl.length; j++) System.out.println(" " + fl[j].getFullName()); } } catch (FolderNotFoundException ex) { } } } } |