有没有办法在outlook中读取邮件(使用加载项)并将其另存为EML文件?
答案 0 :(得分:1)
您可以通过两种方式实现目标:
使用以下代码,您可以轻松地将MSG转换为EML。看看使用Aspose.Email for .NET有多简单。
using (var message = Aspose.Email.MailMessage.Load("template.msg»))
{
message.Save("output.eml", Aspose.Email.SaveOptions.DefaultEml);
}
答案 1 :(得分:0)
您可以
1)一次在您的代码中显式创建MIME文件一个属性。您还可以使用现有的MIME转换器(我过去曾使用Lumisoft)-但是它们不会在单个调用中转换Outlook消息。您将需要显式构建所有标头和MIME部分。
2)使用IConverterSession对象(仅C ++或Delphi)-这与Outlook使用的MIME转换器相同。您可以在OutlookSpy中使用它(单击IConverterSession按钮)。
3)使用Redemption及其RDOMail。SaveAs或SafeMailItem。SaveAs方法-它可以以MIME格式(olRfc822)以及其他十几种格式保存。当可用(Outlook 2003及更高版本)或用于较早版本的Outlook或针对Exchange API的MAPI使用它时,它使用IConverterSession对象。
以下脚本(VBS)将在Outlook中将当前选定的邮件另存为EML文件
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set rItem = Session.GetMessageFromID(Application.ActiveExplorer.Selection(1).EntryID)
rItem.SaveAs "c:\temp\test.eml", 1024