如果服务器没有响应,我仍然会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();
答案 0 :(得分:1)
com.sun.mail.imap documentation底部有一个表,列出了您可以为IMAP设置的所有会话属性。将mail.imap.timeout
和/或mail.imaps.timeout
设置为超时(以毫秒为单位)。