我通过imap阅读邮件,我能够收到邮件,主题,发送日期和地址。但是消息描述是null
。我使用了Javax mail api 1.4。
答案 0 :(得分:0)
在MimeMesage documentation中,getDescription()方法用于获取"内容描述"消息的标题字段。
如果要提取正文,可以在消息对象上使用MimeMessageParser。
final MimeMessageParser parser = new MimeMessageParser(message);
String body = null;
try {
parser.parse();
} catch (Exception e) {
LOG.error("Exception during parsing the message body: {}", e);
}
if (parser.hasPlainContent()) {
body = parser.getPlainContent();
} else if (parser.hasHtmlContent()) {
body = parser.getHtmlContent();
}
答案 1 :(得分:0)
MimeMessage::getDescription()
的{{3}}说:
返回此Message的“Content-Description”标头字段。这通常将一些描述性信息与此部分相关联。 如果此字段不可用或其值不存在,则返回null。
因此,如果getDescription()
返回null
,则表示您尝试阅读的MIME邮件没有该字段,或者该字段为空。
由于javadoc声明了“内容描述”,因此是合法的:
此标题字段始终是可选的。
简而言之,您的应用应该设计为getDescription()
返回null
。
您评论道:
message.getDescription()应该给我邮件的正文。哪个我变空了。
这不是getDescription()
所做的。如果您想要邮件的正文,请使用getContent()
或getContentAsStream()