我想使用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://MYUSERNAME@gmail.com:MYPASSWORD@imap.gmail.com"); 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
提交
取消