5

有没有办法在 Outlook 中读取邮件(使用加载项)并将其保存为 EML 文件?

4

2 回答 2

3

你可以通过两种方式来实现你的目标:

  1. 您可以以编程方式进行。尝试为 .Net 使用第三方库Aspose.Email。这是一个很棒的库,可用于基本的电子邮件管理功能。在这种情况下,我们将使用转换。此外,该库能够操作和编辑消息、通过多种协议发送和接收电子邮件以及处理消息存储文件。

使用以下代码,您可以轻松地将 MSG 转换为 EML。看看Aspose.Email for .NET是多么简单。

using (var message = Aspose.Email.MailMessage.Load("template.msg»))
{  
    message.Save("output.eml", Aspose.Email.SaveOptions.DefaultEml); 
}
  1. 使用在线转换器。如果您不想以编程方式进行操作,可以使用在线转换器进行操作。您可以使用Aspose.Email Conversion。这是一个免费的在线转换器,可让您将 MSG 转换为多种不同的文件格式。它有一个友好的用户界面。

我是 Aspose 的开发人员布道师。

于 2019-11-28T13:08:00.687 回答
0

你可以

1) 一次在您的代码中显式创建一个属性的 MIME 文件。您还可以使用现有的 MIME 转换器(我过去使用过 Lumisoft)——但它们不会在一次调用中转换 Outlook 消息;您将需要显式构建所有标题和 MIME 部分。

2) 使用IConverterSession对象(仅限 C++ 或 Delphi) - 这与 Outlook 使用的 MIME 转换器相同。您可以在OutlookSpy中使用它(单击 IConverterSession 按钮)。

3) 使用Redemption及其RDOMail .SaveAs 或SafeMailItem .SaveAs 方法 - 它可以保存为 MIME 格式 (olRfc822) 以及十几种其他格式。当 IConverterSession对象可用时(Outlook 2003 及更高版本)或它自己的转换器用于旧版本的 Outlook 或用于 Exchange 版本的 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
于 2019-12-03T05:59:23.520 回答