Bonjour a tous!

J'ai un problème lors de la lecture de mail d'un compte laposte.net via la bibliothèque javax.mail.

Actuellement j'ai tenter de suivre ce tuto : http://atatorus.developpez.com/tutor...avec-javamail/

ce qui a abouti sur ce 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
package testMail;
import java.util.Properties;
 
import javax.mail.Address;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.URLName;
 
 
public class Main {
 
    private static final String POP_SERVER3 = "pop.laposte.net";
    private static final String POP_PASSWORD3 = "***";
    private static final String POP_ACCOUNT3 = "meteo-dijon@laposte.net";
 
    public static void main(String [] args) {
 
 
        Properties properties = new Properties();
        properties.setProperty("mail.store.protocol", "pop3");
        properties.setProperty("mail.pop3.host", POP_SERVER3);
        properties.setProperty("mail.pop3.user", POP_ACCOUNT3);
 
        Session session = Session.getInstance(properties);
        session.setDebug(true);
 
        Store store = null;
        Folder defaultFolder = null;
        Folder inbox = null;
        try {
            store = session.getStore(new URLName("pop3://" + POP_SERVER3));
            System.out.println(store);
            store.connect(POP_ACCOUNT3, POP_PASSWORD3);
            defaultFolder = store.getDefaultFolder();
            System.out.println("defaultFolder : " + defaultFolder.getName());
 
            for (Folder folder : defaultFolder.list()) {
                System.out.println(folder.getName());
            }
            inbox = defaultFolder.getFolder("INBOX");
            printMessages(inbox);
        } catch (Exception e) {
            System.out.println(e);
            System.out.println("///////////////////////////////////////////////////");
            e.printStackTrace();
            System.out.println("///////////////////////////////////////////////////");
            System.out.println(e.getCause());
            System.out.println("***************************************************");
        } finally { // Ne pas oublier de fermer tout ça*!
            close(inbox);
            close(defaultFolder);
            try {
                if (store != null && store.isConnected()) {
                    store.close();
                }
            } catch (MessagingException e) {
                System.out.println(e);
            }
        }
 
 
        //connexion après au compte mail laposte : meteo-dijon@laposte.net -- Password0
    }
 
    private static void printMessages(Folder folder) {
        try {
            folder.open(Folder.READ_ONLY);
            int count = folder.getMessageCount();
            int unread = folder.getUnreadMessageCount();
            System.out.println("Il y a " + count + " messages, dont " + unread + " non lus.");
            for (int i = 1; i <= count; i++ ) {
 
                Message message = folder.getMessage(i);
                System.out.println("Message n° " + i);
                System.out.println("Sujet : " + message.getSubject());
 
                System.out.println("Expéditeur : ");
                Address[] addresses = message.getFrom();
                for (Address address : addresses) {
                    System.out.println("\t" + address);
                }
 
                System.out.println("Destinataires : ");
                addresses = message.getRecipients(RecipientType.TO);
                if (addresses != null) {
                    for (Address address : addresses) {
                        System.out.println("\tTo : " + address);
                    }
                }
                addresses = message.getRecipients(RecipientType.CC);
                if (addresses != null) {
                    for (Address address : addresses) {
                        System.out.println("\tCopie : " + address);
                    }
                }
 
                System.out.println("Content : ");
            }
 
        } catch (Exception e) {
            System.out.println(e);
        }
    }
 
 
    private static void close(Folder folder) {
        if (folder != null && folder.isOpen()) {
            try {
                folder.close(false); // false -> On n'efface pas les messages marqués DELETED
            } catch (Exception e) {
                System.out.println(e);
            }
        }
    }
}
Le seul problème, est que j'ai une erreur que je n'arrive pas a résoudre lorsque le code tente le "store.connect(user, password)"...

Voila le résulta dans la console :

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
DEBUG: setDebug: JavaMail version 1.5.0-b01
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]
DEBUG POP3: mail.pop3.rsetbeforequit: false
DEBUG POP3: mail.pop3.disabletop: false
DEBUG POP3: mail.pop3.forgettopheaders: false
DEBUG POP3: mail.pop3.cachewriteto: false
DEBUG POP3: mail.pop3.filecache.enable: false
DEBUG POP3: mail.pop3.keepmessagecontent: false
DEBUG POP3: mail.pop3.starttls.enable: false
DEBUG POP3: mail.pop3.starttls.required: false
pop3://pop.laposte.net
DEBUG POP3: mail.pop3.apop.enable: false
DEBUG POP3: mail.pop3.disablecapa: false
DEBUG POP3: connecting to host "pop.laposte.net", port 110, isSSL false
javax.mail.MessagingException: Connect failed;
  nested exception is:
    java.net.SocketException: Socket is not connected: connect
///////////////////////////////////////////////////
javax.mail.MessagingException: Connect failed;
  nested exception is:
    java.net.SocketException: Socket is not connected: connect
    at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:209)
    at javax.mail.Service.connect(Service.java:295)
    at javax.mail.Service.connect(Service.java:176)
    at javax.mail.Service.connect(Service.java:196)
    at testMail.Main.main(Main.java:40)
Caused by: java.net.SocketException: Socket is not connected: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:299)
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:234)
    at com.sun.mail.pop3.Protocol.<init>(Protocol.java:112)
    at com.sun.mail.pop3.POP3Store.getPort(POP3Store.java:260)
    at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:205)
    ... 4 more
///////////////////////////////////////////////////
java.net.SocketException: Socket is not connected: connect
***************************************************
(Ps : l'envoi d'un mail "fonctionne" bien, même si en local il me faut utiliser "fakeSMTP-2.0" pour simuler un SMTP... Est-ce qu'il me faut l'équivalent pour le pop3? sachant que a terme ce code sera mit dans une portlet de liferay, il me faudrait aussi un serveur pop3 sur le serveur?)

Edit (22/02/2017) : j'ai avancer dans la résolution du problème, il ne semble pas venir du code, mais du réseaux en lui même, quand j'essaye la commande "telnet pop.laposte.com 995" (ou même d'autre mail comme gmail), il me met qu'il n'arrive pas a ce connecter...