我正在使用apache的 MimeMessageParser 来获取MimeMessage。它还有另一个电子邮件类型的附件,其中包含正文内容和嵌入式图像。我能够从mimeMessage获取电子邮件附件,并且可以成功将其转换为.msg
文件。
但是当我尝试打开该.msg
文件时,出现错误
我们无法打开'C:\ local \ 1_file_ds.msg'。该文件可能是 已经打开,或者您没有打开它的权限。
有人可以帮助我吗?我想将电子邮件附件转换为.msg
文件。
以下是我正在使用的代码。
List<DataSource> attachmentList = email.getAttachmentList();
int attachmentCount = 1;
try {
for (DataSource attachment : attachmentList) {
if (attachment.getContentType().equals("message/rfc822")) {
InputStream inputStream;
inputStream = attachment.getInputStream();
String destName = "C:\\local\\" + +attachmentCount + "_" + "file_ds" + ".msg";
File file = new File(destName);
FileUtils.copyInputStreamToFile(inputStream, file);
attachmentCount = attachmentCount + 1;
}
}
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
我们收到了一位客户的电子邮件,该客户将一些rfc822文件附加到该电子邮件中。我必须将文件保存到磁盘,并将扩展名更改为eml。之后,我可以在MS Outlook中打开电子邮件,然后从那里将其保存为MSG格式。
因此,如果您只想打开rfc822附件,请将文件保存在带有eml扩展名的磁盘上,并确保您有一个可以读取这些文件的电子邮件程序。
如果您需要msg文件,则必须找到一个将eml转换为msg的转换器。此外,MS Outlook还提供了一个API,可用于加载eml文件并将其保存到msg。这样,您可以创建自己的转换器。