-1

pop3 メールの読み取り中に問題が発生しました

私のコードはとてもシンプルです..

Properties objServerProp = new Properties();
objServerProp.setProperty("mail.transport.protocol", "pop3");
objServerProp.setProperty("mail.host", "xxx.xx-ip.org");
objServerProp.put("imap.mail.port", "110");
objServerProp.put("imap.mail.auth", "true");

Session  objSession = Session.getDefaultInstance(objServerProp, null);
Store instStore = objSession.getStore("pop3");
instStore.connect("xxx.xx-ip.org", Integer.valueOf(110), "id", "pwd");
Folder  objFolder = instStore.getFolder("inbox");
objFolder.open(Folder.READ_WRITE);
int count = objFolder.getMessageCount();

 Message objMessage = objFolder.getMessage(1);
 System.out.println("objMessage is :: "+objMessage);
 System.out.println("  message contenttype :: " + objMessage.getContentType());

メッセージ オブジェクトで任意のメソッド ( :getContentType() など) を呼び出すと、例外が発生します。

メッセージオブジェクトは次のようにうまくいきます

objMessage is :: com.sun.mail.pop3.POP3Message@37d8d2

例外は以下です..

javax.mail.MessagingException: error loading POP3 headers;
  nested exception is:
    java.io.IOException: Unexpected response: 
    at com.sun.mail.pop3.POP3Message.loadHeaders(POP3Message.java:467)
    at com.sun.mail.pop3.POP3Message.getSize(POP3Message.java:106)
    at in10sbouncemailtracker.BMTServer.checkBouncedMails(BMTServer.java:232)
    at BMTMain.main(BMTMain.java:18)
Caused by: java.io.IOException: Unexpected response: 
    at com.sun.mail.pop3.Protocol.simpleCommand(Protocol.java:361)
    at com.sun.mail.pop3.Protocol.multilineCommand(Protocol.java:373)
    at com.sun.mail.pop3.Protocol.top(Protocol.java:271)
    at com.sun.mail.pop3.POP3Message.loadHeaders(POP3Message.java:451)
... 3 more
4

1 に答える 1

0

JavaMail FAQで説明されているように、セッションのデバッグをオンにします。プロトコルトレースは、予期しない応答が何であるかを示します。com.sun.mail.pop3パッケージjavadocsで説明されているプロパティも確認する必要があります。これらのプロパティのいくつかは、サーバーのバグを回避するのに役立つ場合があります。

于 2012-10-08T17:41:58.000 に答える