Dans cet Exemple nous allons vous expliquer comment utiliser JavaMail pour accéder à un compte de messagerie habituel.
Pour cet exemple, nous avons choisi le service Gmail mais notons que le même procédé s’applique aux autres services de messagerie tel que Yahoo, hotmail, etc.
Etape1: Activation de protocole POP
Par défaut, Gmail désactive le Protocole POP3 pour les messages reçus. Pour l’activer connectez vous
à votre compte Gmail et cliquez sur le bouton de Configuration et choisissez l’option Paramètre
voir l’image ci dessous:
Dans l’interface de configuration cliquez sur l’onglet ‘Transfert et POP/IMAP ” et cochez l’option “‘Activer le protocole POP pour les messages reçus à partir de maintenant’ ensuite enregistrer les modifications.
Etape2: Programmer l’accès au compte Gmail
voici le code java qui vous permet d’accéder au compte Gmail
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.URLName;
/**
* Copyright: a*****@gmail.com
*
* Ce programme se connecte au serveur
* de messagerie de google Gmail et
* affiche le nombre de message de la boîte
* de réception.
*
* Pour configurer votre compte Gmail afin d'utiliser ce programme.
* visitez ces liens:
* http://mail.google.com/support/bin/answer.py?answer=13273
* http://support.google.com/mail/bin/answer.py?hl=en&answer=13287
**/
public class BrowsEmail
{
public static void main(String[] args) throws Exception
{
// Définition d'un URLName pour construire un lien
URLName rep_Serveur = new URLName("pop3://nom_utilisateur@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("nom_d'utilisateur", "mot_de_passe");
}
}
);
// Sélectionner un répertoire de votre compte Email(Ex: Boîte de réception)
Folder boite = session.getFolder(rep_Serveur);
// Vérifier que le répertoire existe
if (boite == null)
{
System.out.println("Boîte de messagerie " + rep_Serveur.getFile() + " est introuvable.");
System.exit(1);
}
// Ouvrir le répertoire sélectionné
boite.open(Folder.READ_ONLY);
// Sélectionner tous les messages du répertoire ouvert
Message[] messages = boite.getMessages();
// Afficher le nombre de message
System.out.println ("Vous avez: "+messages.length+" message(s)");
// Fermer la boîte
boite.close(false);
}
}