我想使用JavaMail和IMAP從Java應用程序訪問GMail中的消息。為什么會收到SocketTimeoutException?這是我的代碼:Properties props = System.getProperties();props.setProperty("mail.imap.host", "imap.gmail.com");props.setProperty("mail.imap.port", "993");props.setProperty("mail.imap.connectiontimeout", "5000");props.setProperty("mail.imap.timeout", "5000");try { Session session = Session.getDefaultInstance(props, new MyAuthenticator()); URLName urlName = new URLName("imap://[email protected]:[email protected]"); Store store = session.getStore(urlName); if (!store.isConnected()) { store.connect(); }} catch (NoSuchProviderException e) { e.printStackTrace(); System.exit(1);} catch (MessagingException e) { e.printStackTrace(); System.exit(2);}我設置了超時值,這樣就不會“永遠”超時。另外,MyAuthenticator也具有用戶名和密碼,這似乎與URL 無關。還有另一種指定協議的方法嗎?(我沒有在IMAP的JavaDoc中看到它。)
添加回答
舉報
0/150
提交
取消