可以从MIME流组成上传项目数据流

问题描述

article之后,我们有导入项目 UploadItems 可以上传到O365邮箱。

但是他们的数据流有些不同,并且某些元数据可能会丢失。

例如:

    如果导出的eml不包含标签 Received
  • 导入项目将丢失 DateTimeReceived
  • 但是 UploadItems 可以完全保真地成功上传邮件

所以我想知道:

是否可以通过单个 .eml文件从O365像我们export那样构成完整格式的数据流?

因为EWS还提供IncludeMimeContent选项以导出原始的 .eml文件

感谢帮助!

解决方法

理论上,即使未记录格式,您也可以通过程序构造原始的快速传输流。它本质上是由分页符分隔的MAPI属性流-您可以在OutlookSpy中看到它(单击EWS页面上的GetItem按钮,然后转到ExportItems选项卡)。

您也可以使用Redemption-创建RDOSession对象的实例,调用RDOSession.CreateMessageFromMsgFile(以创建中间MSG文件作为临时存储),调用{{3 }}。Import(...,olRfc822)导入您的EML文件,将其保存(RDOMail.Save),然后使用RDOMail.SaveAs(...,olFts)以Fast Transfer Stream格式导出。