0
我在下载附件时收到一个File
类型的额外文件。我使用MimeBodyPart.saveFile()
这里是我的下载附件代码Javamail获取一个额外的文件在下载附件时
for (MimeBodyPart mbp : msgToDownload.getAttachmentList()) {
updateProgress(msgToDownload.getAttachmentList().indexOf(mbp),
msgToDownload.getAttachmentList().size());
mbp.saveFile(DOWNLOAD_LOCATION + mbp.getFileName());
}
这里msgToDownload
是采取Message msg
与其它一些参数参数类。而getAttachmentList()
是MimeBodyPart的类型定义为List<MimeBodyPart>
名单这是我如何添加附件列出
sb.setLength(0);
msgToRender.clearAttachments();
Message msg = msgToRender.getMsgRef();
try {
// String messageType = msg.getContentType();
sb.append(getText(msg));
if (hasAttachments(msg)) {
Multipart mp = (Multipart) msg.getContent();
for (int i = mp.getCount() - 1; i >= 0; i--) {
BodyPart bp = mp.getBodyPart(i);
MimeBodyPart mbp = (MimeBodyPart) bp;
msgToRender.addAttachment(mbp);
}
}
}catch(Exception e){
}
额外的文件包含邮件的文本部分的属性。额外文件内容
-001a114fd0aa0b377d0546bb84a0 Content-Type:text/plain; charset = UTF-8请找到附件... --001a114fd0aa0b377d0546bb84a0 Content-Type:text/html;字符集= UTF-8,请找到附件... --001a114fd0aa0b377d0546bb84a0--
现在下载附件时,我的程序还下载了一个文件,该文件包含该文件中的所有信息,如“内容类型”和文本消息。但我不希望它下载该信息。 –
即使邮件没有附件,也会下载一个带有文本属性的邮件。 –
而在上面的代码中,我认为'messageType.contains(“multipart”)'意味着所有类型的multipart或者'multipart/alternative'或者其他类型的multipart。这不正确。 –