Java 转换内容类型为“的附件”;信息/rfc822“;到.msg文件
我正在使用apache的mimessageparser获取mimessage。它还有另一个电子邮件类型的附件,其中包含正文内容和内联图像。我能够从mimeMessage获取电子邮件附件,并且我可以成功地将其转换为Java 转换内容类型为“的附件”;信息/rfc822“;到.msg文件,java,mime,mime-message,rfc822,Java,Mime,Mime Message,Rfc822,我正在使用apache的mimessageparser获取mimessage。它还有另一个电子邮件类型的附件,其中包含正文内容和内联图像。我能够从mimeMessage获取电子邮件附件,并且我可以成功地将其转换为.msg文件 但是当我试图打开.msg文件时,出现了一个错误 无法打开“C:\local\1\u文件\u ds.msg”。文件可能是 已打开,或者您没有打开它的权限 有人能帮我吗?我想将电子邮件附件转换为.msg文件 下面是我正在使用的代码 List<DataSource&
.msg
文件
但是当我试图打开.msg
文件时,出现了一个错误
无法打开“C:\local\1\u文件\u 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();
}
List attachmentList=email.getAttachmentList();
int attachmentCount=1;
试一试{
用于(数据源附件:attachmentList){
if(attachment.getContentType().equals(“message/rfc822”)){
输入流输入流;
inputStream=attachment.getInputStream();
String destName=“C:\\local\\\”++attachmentCount+“++”文件“+”.msg”;
File File=新文件(destName);
copyInputStreamToFile(inputStream,文件);
attachmentCount=attachmentCount+1;
}
}
}捕获(IOE异常){
e、 printStackTrace();
}
我们收到一封来自客户的电子邮件,该客户将一些rfc822文件附加到电子邮件中。我必须将文件保存到磁盘,并将扩展名更改为eml。之后,我可以在MS Outlook中打开电子邮件,然后将其保存为MSG格式
因此,如果您只想打开rfc822附件,请使用eml扩展名将文件保存在磁盘上,并确保您有一个可以读取这些文件的电子邮件程序
如果你需要一个msg文件,你必须找到一个转换器从eml转换为msg。此外,MS Outlook还有一个API,可用于加载eml文件并将其保存到msg。这样您就可以创建自己的转换器