次のように、AndroidでJavaMailを使用してソケットを開こうとしている非常に単純なコードがあります。
public boolean connect() {
try {
store_ = session_.getStore("imap");
store_.connect(email_.host, email_.user, email_.pass);
folder_ = store_.getDefaultFolder();
folder_ = folder_.getFolder("inbox");
folder_.open(Folder.READ_ONLY);
}
catch(Exception e) {
disconnect();
return false;
}
return true;
}
public void disconnect() {
if (folder_ != null) {
try {
folder_.close(false);
}
catch(Exception e) {
}
folder_ = null;
}
if (store_ != null) {
try {
store_.close();
}
catch(Exception e) {
}
store_ = null;
}
}
SSLを必要としないIMAPサーバーでは正常に機能します。それ以外の場合、アプリはブロックするだけです。トライ/キャッチに関係なく。何か案が?もちろん、「imap」ではなく「imaps」に言及するとすぐに機能することに注意してください。ただし、どのような場合でもアプリがブロックされることは望ましくありません。