ImapProtocol.readResponse超时Javamail

时间:2015-11-25 11:19:47

标签: javamail imap

如果服务器没有响应,我仍然会readresponse(),它会挂起。这个功能有没有超时?

Properties prop =new Properties(); 
prop.setProperty("mail.imap.port","993");
prop.setProperty("mail.imap.ssl.enable", "true");
prop.setProperty("mail.imaps.timeout", "5000");
Session session = Session.getDefaultInstance(prop);
IMAPProtocol protocol=new IMAPProtocol("username","imap.gmail.com",993,true,session.getDebugOut(), session.getProperties(),true);
protocol.login("username","password");
protocol.select("inbox");
protocol.idleStart();
protocol.readResponse();

1 个答案:

答案 0 :(得分:1)

com.sun.mail.imap documentation底部有一个表,列出了您可以为IMAP设置的所有会话属性。将mail.imap.timeout和/或mail.imaps.timeout设置为超时(以毫秒为单位)。