2009-09-30 5 views
1

Je suis en train de se connecter au serveur en utilisant le protocole James imap, mais je reçois une exception près:erreur Connexion via javamail

Exception in thread "main" javax.mail.MessagingException: Network is unreachable: connect; 
nested exception is: 
java.net.SocketException: Network is unreachable: connect 
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:611) 
at javax.mail.Service.connect(Service.java:291) 
at javax.mail.Service.connect(Service.java:172) 
at mail.main(mail.java:112) 
Caused by: java.net.SocketException: Network is unreachable: connect 
at java.net.PlainSocketImpl.socketConnect(Native Method) 
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) 
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) 
at java.net.SocksSocketImpl.connect(PlainSocketImpl.java:366) 
at java.net.Socket.connect(Socket.java:519) 
at java.net.Socket.connect(Socket.java:469) 
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:267) 
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:277) 
at com.sun.mail.iap.Protocol.<init>(Protocol.java:107) 
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:103) 
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:578) 
... 3 more 

Le James Server est déjà en cours d'exécution, je ne suis pas la raison de l'exception ci-dessus. Est-ce parce que James ne supporte pas ce protocole ou d'autres raisons?

Voici le code source d'application Javamail, qui tente de se connecter à James serveur:

import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.Properties; 
import javax.mail.*; 
import javax.mail.internet.*; 

public class mail{ 

public static void main(String[] argts){ 


     try { 


      Properties props=new Properties(); 

      props.put("mail.host", "127.0.0.1 "); 
      props.put("mail.smtp.auth","true"); 

    Session session = Session.getInstance(props, new javax.mail.Authenticator() { 

protected PasswordAuthentication getPasswordAuthentication() { 
return new PasswordAuthentication("blue", "blue"); 
} 
}); 




int Spam=0; 
Store store=session.getStore("imap"); 
store.connect("localhost", "red", "red"); 
Folder folder=store.getFolder("IMAPFolder"); 
Folder folder1=store.getFolder("Spam"); 
boolean b=folder1.create(Spam); 
System.out.println(b); 

     } catch (Throwable t) { 
      t.printStackTrace(); 
     } 


     } 

    } 

}

Répondre

2

Une vérification rapide est de voir si vous pouvez parler à votre serveur IMAP simplement en utilisant telnet:

telnet localhost 143 

et si cela ne se connecte pas, James ne publie pas une connexion IMAP (en supposant que le port IMAP standard).

Je vois ci-dessous que vous utilisez James 2.x. This link suggère que IMAP n'est pas pris en charge.

+0

Cela ne se connecter. Que dois-je faire pour que l'application se connecte à James via le protocole IMAP? J'utilise la version de James-2.3.2. – Dusk

0

ressemble plus à une erreur de configuration du réseau (vous pouvez le ping) Vérifiez que 127.0.0.1 est configuré correctement (et se débarrasser de cet espace)

Questions connexes