私は奇妙な問題に直面しています。IMAP経由でGmailサーバーに接続しています。最初の試行で問題なく接続しています。しかし、2回目にストアに接続すると、例外が発生します。助けてください。以下は私が使用したコードです。
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/システム.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: W/システム。
OK今、私はこれを使用しています:-
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);
また、メッセージ等を頂き次第閉店させて頂きます。
しかし、2回目の接続でも同じエラーが発生します。サーバーが応答していないか、2 回目の接続中にポートがビジー状態になっているようです。私はそれを理解することはできません。