j'ai un gros soucis,
j'ai une classe qui permet de se connecter sur le serveur pop de gmail,
maintenant j'aimerais crée une autre classe avec une JFrame, récupérant
le nombre de message, les sujets, les expéditeurs etc ....
permet la connexion sur le serveur :
import javax.mail.*;
import com.sun.mail.pop3.POP3SSLStore;
import java.util.*;
import java.io.*;
public interface Lala {
//On declare le serveur pop de gmail :
static String host = "pop.gmail.com";
String user;
String pwd;
public Lala() {
}
//Méthode main , Fonction principale du client :
public static void main(String args[])
{
new Lolo();
//Récupération des propriété du Systeme :
Properties prop = System.getProperties();
System.out.println("Creation d'une session mail");
//Creation d'un objet Session :
Session sess = Session.getDefaultInstance(prop, null);
sess.setDebug(true);
prop.list(System.out);
try {
//On declare le login :
String user = "xxxxxxx";
//On declare le mot de passe :
String pwd = "xxxxxx";
//Création de l'object qui va récupéré le contenu de la boite :
System.out.println("obtention d'un objet store");
// Connection au serveur :
POP3SSLStore st = new POP3SSLStore(sess, new URLName(""));
st.connect(host, user, pwd);
System.out.println("connection ok");
System.out.println("st=:" + st);
System.out.println("Obtention d'un folder");
//Ouverture du répertoire contenent les mails Par defaut INBOX :
Folder f = st.getFolder("INBOX");
f.open(Folder.READ_ONLY);
//Récupération des messages :
System.out.println("Obtention des messages");
Message msg[] = f.getMessages();
System.out.println("nombre de messages : " + f.getMessageCount());
System.out.println("nombre de nouveau messages : "
+ f.getNewMessageCount());
System.out.println("liste des nouveau messages");
for (int i = 0; i < msg.length; i++) {
if (msg[i].isMimeType("text/plain")) {
System.out.println("Expediteur: " + msg[i].getFrom()[0]);
System.out.println("Sujet: " + msg[i].getSubject());
System.out.println("Texte: " + (String) msg[i].getContent());
}
System.out.println("fin des messages");
}
}
//Les exceptions :
catch (NoSuchProviderException e) {
System.out.println("Erreur sur le provider" + e.getMessage());
} catch (MessagingException e) {
System.out.println("Erreur sur Message" + e.getMessage());
} catch (IOException e) {
System.out.println("Erreur sur IO" + e.getMessage());
} catch (Exception e) {
System.out.println("Erreur indetermiee" + e.getMessage());
}
}
}
permet l'affichage des informations :
import java.awt.event.*;
import javax.swing.*;
public interface Lolo extends Lala{
public Lolo(){
super ("Lolo");
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setBounds(100,100,480,272); // équivaut à setLocation(100, 100); puis setSize(480, 272);
setResizable(false);
JLabel e2 = new JLabel("nbmess");
e2.setBounds(60, 30, 200, 20);
add(e2);
}
}
le probleme est que l'on peut pas mettre deux fois extends, une fois
pour le fichier de connnection et l'autre pour la JFrame
doinc si vou pouvais m'aider, sa seré sympa