31

.msg 文件和 .eml 文件有什么区别?

  1. 我知道 eml 实际上是一个文本文件,而 msg 不是。
  2. 两者都可以在 Outlook 中打开。
  3. Outlook 允许您将电子邮件另存为 .msg,但我没有找到另存为 eml 的选项

msg 有什么能力,而 eml 没有,反之亦然?

4

1 回答 1

31

MSG 是二进制 OLE 存储文件 ( IStorage )。与 MIME (EML) 不同,它存储 MIME 无法存储的所有 MAPI 特定属性。该格式由 Microsoft记录。您可以使用SSViewerIStorage之类的实用程序查看关卡上的 MSG 文件。在 MAPI 级别,您可以使用StgOpenStorage / StgCreateStorageExOpenIMsgOnIStg函数打开/创建 MSG 文件。您可以在OutlookSpy中查看存储在 MSG 文件中的属性(单击 OpenIMsgOnIStg 按钮)。

EML 文件是MIME格式的文本文件(您可以在记事本中打开类似的文件)。

要创建 EML 文件,您可以

  1. 一次在您的代码中显式创建一个 MIME 标头/部分。

  2. 如果您在 C++ 或 Delphi 中使用扩展 MAPI,则可以使用包装本机 Outlook 转换器的IConverterSession接口。您可以在OutlookSpy中使用它- 单击 OutlookSpy 工具栏上的 IConverterSession 按钮。

  3. 您可以使用Redemption及其RDOMailSaveAs(..., olRfc822)/ SafeMailItem.SaveAs(..., olRfc822)方法。

于 2013-04-26T06:43:57.593 回答