我面临一个奇怪的问题。我正在通过 IMAP 连接 gmail 服务器。它在第一次尝试时连接良好。但是当我第二次连接商店时,我遇到了异常。请帮忙。下面是我使用的代码。
String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
try {
Properties properties = new Properties();
properties.setProperty("mail.store.protocol", "imaps");
// properties.setProperty("mail.imaps.socketFactory.fallback", "false");
// set this session up to use SSL for IMAP connections
properties.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.imaps.socketFactory.fallback", "false");
// use the simap port for imap/ssl connections.
// properties.setProperty("mail.imap.socketFactory.port", "993");
URLName url = new URLName("imap", _INCOMINGMAILSERVER, 993, "", _USERNAME, _PASSWORD);
Session session = Session.getInstance(properties,null);
session.setDebug(true);
//Store store = session.getStore("imaps");
Store store = new IMAPSSLStore(session, url);
if (store.isConnected()) {
Log.v("Connected", "TRUE");
} else {
Log.v("Connected", "FALSE");
/*
* store.connect(_OUTGOINGMAILSERVER, _USERNAME, _PASSWORD); if
* (store.isConnected()) store.close();
*/
Log.v("INCOMING SERVER", _INCOMINGMAILSERVER);
//store.connect(_INCOMINGMAILSERVER, _USERNAME, _PASSWORD);
store.connect();
}
connected = true;
例外
================== 05-15 01:31:50.765:W/System.err(19008):javax.mail.MessagingException:SSL 握手中止:ssl=0x2a8e5238:系统调用期间的 I/O 错误,对等方重置连接;05-15 01:31:50.765: W/System.err(19008): 嵌套异常是: 05-15 01:31:50.765: W/System.err(19008): javax.net.ssl.SSLException: SSL 握手中止:ssl = 0x2a8e5238:系统调用期间的 I/O 错误,对等方 05-15 01:31:50.765 重置连接:W/System.err(19008):在 com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore .java:571) 05-15 01:31:50.765: W/System.err(19008): 在 javax.mail.Service.connect(Service.java:288) 05-15 01:31:50.765: W/System .err(19008): 在 javax.mail.Service.connect(Service.java:169) 05-15 01:31:50.765: W/System.err(19008): 在 javax.mail.Service.connect(Service. java:118) 05-15 01:31:50.765: 带系统。
好的,现在我正在使用这个:-
Properties properties = new Properties();
properties.setProperty("mail.store.protocol", "imaps");
Session session = Session.getInstance(properties,null);
session.setDebug(true);
Store store = session.getStore("imaps");
store.connect(_INCOMINGMAILSERVER, _USERNAME, _PASSWORD);
我也收到消息后关闭商店。
但第二次连接时仍然出现同样的错误。似乎服务器没有响应或第二次连接时端口有点忙。我想不通。