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, or -ERR Write back to blah@blah.com, or + [...]; 但我只收到消息而不是状态,并且在第 86 行抛出错误。

另一方面,Outlook 处理这封电子邮件没有问题。所以我的问题是:我是否遗漏了什么,我是否错误地使用了 Java Mail?我可以激活 POP3 连接状态检查不那么严格的模式吗?pop3 提供程序是否配置错误?

4

1 回答 1

1

尝试改用JavaMail 参考实现

于 2013-07-24T22:17:59.827 回答