我正在使用JavaMail编写一个pop3客户端来检索邮件。但是,我无法检索文本/纯文本编码邮件的正文。
mail.getContent()不提取邮件正文。但mail.writeTo(System.out)正在打印包含信封信息的完整邮件数据。
有没有办法只获取邮件正文?
谢谢!
更新:从调试监视,我可以看到mail.getContent()只返回“\ r \ n”。
解决方案: 似乎问题是直接从telnet会话发送的邮件。对于从smtp客户端程序发送的邮件,可以获取邮件正文。
答案 0 :(得分:0)
JavaMail期望一个空行(CRLF CRLF)来终止标头块。当您通过telnet输入消息时,您将在输入的每一行的末尾发送系统换行符(可能只是LF)。所以我的猜测是JavaMail没有看到它所期望的标题/正文分隔符,因此它只是将你的“正文”行添加到其标题块的末尾作为格式错误的标题。