大家好 :) 我正在从 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
, or -ERR Write back to blah@blah.com
, or + [...]
; 但我只收到消息而不是状态,并且在第 86 行抛出错误。
另一方面,Outlook 处理这封电子邮件没有问题。所以我的问题是:我是否遗漏了什么,我是否错误地使用了 Java Mail?我可以激活 POP3 连接状态检查不那么严格的模式吗?pop3 提供程序是否配置错误?