0

みなさん、こんにちは :) pop3 サーバーからいくつかのメールを取得していますが、メールを読むのに少し問題がありmultipart/mixedます。次のことを行うと何が起こっているかを追跡しました。

} else if (p.isMimeType("multipart/*")) {
    Multipart mp = (Multipart) p.getContent();
    System.out.println(mp.getCount()); // Throws
    // ...
}

これはスローします:

javax.mail.MessagingException: Unexpected response:  Write back to blah@blah.com
    at org.apache.geronimo.javamail.store.pop3.POP3ResponseBuilder.buildResponse(POP3ResponseBuilder.java:86)
    at org.apache.geronimo.javamail.store.pop3.POP3Connection.sendCommand(POP3Connection.java:154)
    at org.apache.geronimo.javamail.store.pop3.message.POP3Message.getContentStream(POP3Message.java:88)
    at javax.mail.internet.MimePartDataSource.getInputStream(MimePartDataSource.java:46)
    at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:169)
    at javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:104)
    at fr.clcg.basemkt.npai.ImportNPAIFromMail.getText(ImportNPAIFromMail.java:214)

Write back to blah@blah.comサーバーからの応答ステータスが欠落しています。

私が使用しているこの実装によれば+OK Write back to blah@blah.com、 、または-ERR Write back to blah@blah.com、または+ [...];を受け取ることになっています。しかし、ステータスではなくメッセージのみを取得し、86行目にエラーがスローされます。

一方、Outlook では、このメールを問題なく処理できます。私の質問は、Java Mail の使い方が間違っているのでしょうか。POP3 接続ステータスのチェックが緩いモードを有効にすることはできますか? pop3 プロバイダーの構成が不適切ですか?

4

1 に答える 1

1

代わりにJavaMail 参照実装を使用してみてください。

于 2013-07-24T22:17:59.827 に答える