タイトルが示すように、folder.open()を実行しようとすると失敗しますが、エラーはスローされないため、理由を見つけるのは困難です。私のデバッグコンソールでは、次のエラーが表示されますが、関連している場合と関連していない場合があります(これは、folder.open()ブレークポイントの後でresumeを押した後にのみ表示されます)。
開発にはAndroid用のJavaMailAPIを使用しています。IMAPサーバーではすべて正常に機能していましたが、POP3メールサーバーにも接続できる必要があります。接続しているストアはGMAILであり、GMAILアカウントで必要なすべての設定が変更されています。
04-12 13:22:26.682: INFO/dalvikvm(436): Ljava/lang/IllegalStateException;: Folder is not Open
04-12 13:22:26.682: INFO/dalvikvm(436): at com.sun.mail.pop3.POP3Folder.checkOpen(POP3Folder.java:512)
04-12 13:22:26.682: INFO/dalvikvm(436): at com.sun.mail.pop3.POP3Folder.close(POP3Folder.java:227)
04-12 13:22:26.682: INFO/dalvikvm(436): at com.sun.mail.pop3.POP3Folder.finalize(POP3Folder.java:506)
04-12 13:22:26.682: INFO/dalvikvm(436): at dalvik.system.NativeStart.run(Native Method)
pop3の接続方法は次のとおりです。
String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
Properties pop3Props = new Properties();
pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
pop3Props.setProperty("mail.pop3.port", "995");
pop3Props.setProperty("mail.pop3.socketFactory.port", "995");
URLName url = new URLName("pop3", "pop.gmail.com", 995, "",
"******@googlemail.com", "*****");
//session = Session.getInstance(pop3Props, null);
Session session = Session.getInstance(pop3Props, new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("***********", "*****");
}
});
session.setDebug(true);
store = new POP3SSLStore(session, url);
store.connect();
ストアに接続する方法は次のとおりです(問題が発生している場合)。
folders = store.getFolder("INBOX");
//Folder folder = store.getFolder("INBOX");
if (folders.isOpen())
{
if ((folders.getMode() & Folder.READ_WRITE) != 0)
{
folders.close(false);
folders.open(Folder.READ_ONLY);
}
}
else
{
try
{
folders.open(Folder.READ_ONLY);
}
catch (Exception e)
{
Log.i("Folder Opening,", e.toString());
}
}
どんなアイデアも役に立ちます!セッションはデバッグされており、問題は明らかではありません。あなたが支援するためにさらに情報が必要な場合は、遠慮なく質問してください!この問題を抱えているのは私だけではないと確信しています。
ありがとう!リス