我正在从本地磁盘读取 eml 文件:
InputStream is = new FileInputStream(body_path);
MimeMessage message = new MimeMessage(session,is);
Multipart multipart = (Multipart)message.getContent();
现在如何删除“.dat”类型的附件?
我正在从本地磁盘读取 eml 文件:
InputStream is = new FileInputStream(body_path);
MimeMessage message = new MimeMessage(session,is);
Multipart multipart = (Multipart)message.getContent();
现在如何删除“.dat”类型的附件?
你可以做这样的事情: -
编写 anew mimemsg
并逐个添加除有扩展名的部分之外的所有部分DAT
撰写新消息:-
MimeMessage newMimeMsg;
MimeMultipart content;
if (mimemsg.isMimeType("multipart/*")) {
Multipart multipartmsg = (Multipart) mimemsg.getContent();
for (int i = 0; i < multipartmsg.getCount(); ++i) {
MimeBodyPart bodypart = (MimeBodyPart) multipartmsg.getBodyPart(i);
if(getFileExtension(bodypart.getFileName()).equalsIgnoreCase("dat") {
// Do Nothing
} else {
content.addBodyPart(bodypart);
}
}
newMimeMsg.setContent(content);
} else {
newMimeMsg = mimemsg;
}
public static String getFileExtension(String docFileName) {
String[] tokens = docFileName.split("\\.(?=[^\\.]+$)");
return tokens[1];
}