java - 通过 JavaMail 读取 POP3 消息仅返回尾随句点,而不返回内容

标签 java jakarta-mail pop3 multipart

我已经使用 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/

相关文章:

java - Yield Method Purpose 允许其他高优先级线程?

java - 替换android中的字符串?

java - 有没有一个漂亮的解决方案来禁用所有电子邮件通知?

perl - MS Exchange POP3 UIDL 命令提供的 UID 真的是唯一的吗?

imap - 电子邮件同步的最佳方式 : POP3 UIDL, IMAP UID,消息 ID

java - 如何将按钮设置为在内容 Pane /容器中不可见

java - 如何使我的类可迭代,以便我可以使用 foreach 语法?

java - 使用 Java Mail API 从 eml 文件读取附件时出错

maven-2 - 无效的jar文件实际上是html的Maven问题

php - 如何在php中从服务器webmail获取未读消息