Bonjour,

J'ai un prog qui recupere les mails sur un serveur.
D'abord une premiere fois et il stock les uid dans un buffer.

Ensuite, toutes les n minutes, et stock les uid dans un autre buffer.

Puis, comparaison des buffers pour savoir s'il y a de nouveau messages.

Tout marche bien a la premiere verification, puis, si j'envoie un premier mail, il le detecte bien en nouveau.
Mais ensuite, il ne detecte plus les nouveaux mails, et je pense que ça vient des buffers.

Voila le bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
            store.connect(pop, user, pass);
            folder = store.getFolder("INBOX");
            folder.open(Folder.READ_WRITE);
            Message messages[] = folder.getMessages(); 
            for (i = 0, n = messages.length; i < n; i++) { 
                jTextArea1.append(i + ": " + messages[i].getFrom()[0] + "\t" + messages[i].getSubject() + "\n");
                statusMessageLabel.setText(i + 1 + " messages pour : " + user);
 
            fp.add(UIDFolder.FetchProfileItem.UID);
            folder.fetch(folder.getMessages(), fp);
            String cle2 = fp.getItems().toString();
            cle2 = cle2.substring(cle2.lastIndexOf("@")+1);
            buf2.append(cle2);       
            if(buf2.equals(buf1)  == false) {
                JOptionPane.showMessageDialog(null, " Vous avez un nouveau message ", "Information", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("mail.png"));
 
            else 
                statusMessageLabel.setText("Pas de nouveaux messages");      
            buf1 = null;
            buf2 = buf1;
            buf2 = null;
            folder.close(false);
            store.close();
Je vide le premier buffer, puis met le buffer 2 dans le buffer 1 et vide le buffer 2.

Si quelqu'un voit mon erreur ?
Merci d'avance,
Tres cordialement,

ANDRE Ani