mil*_*osh 5 java email jakarta-mail
我试图找到某种答案,甚至是如何做到这一点的提示,但是没有运气。
我想检查电子邮件是否有附件。但如果我使用建议的代码:
Object content = bPart.getContent();
if (content instanceof String) {
if (Part.ATTACHMENT.equalsIgnoreCase(bPart.getDisposition()) || StringUtils.isNotBlank(bPart.getFileName())) {
// It's attachment
haveAttachment = true;
}
else {
// It's text or html
emailBody = content.toString();
}
}
else if (content instanceof InputStream) {
if (Part.ATTACHMENT.equalsIgnoreCase(bPart.getDisposition()) || StringUtils.isNotBlank(bPart.getFileName())) {
// It's attachment
haveAttachment = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我必须在我的电子邮件上使用 getContent() 函数,并且邮件会在服务器上自动标记为“已读”。
任何人都可以帮助我如何编写一个简单的函数来获取基本的电子邮件信息并显示邮件是否有附件,而不必获取整个邮件内容?实际上,我只需要附件方面的帮助,因为我已经知道如何获取其他基本标头字段,并且他们不请求 getContent() 方法,也不将我的电子邮件标记为已查看。
普通电子邮件客户端如何做到这一点?我想一定有一些快速简单的方法来检查电子邮件是否有附件。
先感谢您!
编辑:或者,有没有办法使用 getContent() 函数而不将电子邮件标记为已查看?
我不知道您从哪里获得“建议”代码,但它肯定不是来自 JavaMail 网站。
您需要阅读此JavaMail 常见问题解答条目。
要检查部件的 MIME 类型,请使用 isMimeType 方法。您可以在msgshow.java 示例程序中找到示例。