2016-08-29 39 views
0

我使用Apache Commons Net的POP3支持從我的Gmail收件箱中檢索電子郵件。我用下面的代碼來打開Gmail的POP3服務器的連接:Apache Commons Net POP3與Gmail連接

String server = "pop.gmail.com"; 
String username = "<my gmail>"; 
String password = "<my password>"; 

POP3Client pop3 = new POP3Client(); 
pop3.setDefaultTimeout(15000); 
pop3.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); 

System.out.println("Connecting..."); 
try { 
    pop3.connect(server, 995); 
} catch (IOException e) { 
    e.printStackTrace(); 
    System.exit(1); 
} 

但是,這將導致以下錯誤:

java.io.EOFException: Connection closed without indication. 
    at org.apache.commons.net.pop3.POP3.__getReply(POP3.java:117) 
    at org.apache.commons.net.pop3.POP3._connectAction_(POP3.java:153) 
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:189) 
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:209) 
    at com.sms.POP3Mail.main(POP3Mail.java:66) 

爲什麼會這樣,我怎麼能解決這個問題?

回答

0

我發現了這個問題。 Google在使用POP3時需要使用SSL。我添加了SSL身份驗證,現在都很好。