我已经使用 MailEnable 设置了 POP3 邮件服务器。我可以使用 Mozilla Thunderbird 通过此服务器发送和接收电子邮件,但在通过 JavaMail API 读取包含多部分内容的邮件(在本例中为包含 html 内容的邮件)时,我遇到了一个奇怪的问题。从输入流返回的数据始终只有两个 CR/LF,并带有尾随句点! 以下是我的消息处理代码的相关部分:
for (Message m : messages) {
if (m.isMimeType("multipart/*")) {
System.out.println("Process multipart/* Nachricht");
Multipart mp = (Multipart) m.getContent();
Part part = mp.getBodyPart(0);
System.out.println(part.getContent());
}
}
只有一个 Multipart,所以我直接访问第一个元素。 Multipart 中也不存在嵌套零件。我不知道是什么原因导致了这个问题,这让我生气了一个星期,所以如果有人能在这个问题上帮助我,我会非常高兴。
谢谢, 弗雷德·麦迪逊
最佳答案
而不是这个
Part part = mp.getBodyPart(0); // What if there's more parts? Or empty parts?
System.out.println(part.getContent()); // No check for empty String?
我建议尝试这个
mp.writeTo(System.out); // Use the optimized write.
System.out.flush(); // Flush the outputstream.
另外,您确定没有收到空消息吗?
关于java - 通过 JavaMail 读取 POP3 消息仅返回尾随句点,而不返回内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20453050/