みなさん、こんにちは :) 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 プロバイダーの構成が不適切ですか?