使用 msgkit 将 eml 转换为 msg 时,Outlook 不会在预览中显示日期

问题描述 投票:0回答:1

我尝试使用 msgkit 在 C# 中将 .eml 转换为 .msg,所以我的

.eml
文件看起来像这样

Date: Thu, 30 Jan 2020 12:09:26 +0530

它是一个简单的 .eml 文件,我尝试使用在线转换器将 .eml 转换为 .msg,当从 ole 复合查看器查看时,文件看起来几乎相同,但 msgkit 转换后的文件在打开时不会在预览中显示收到的日期外表。在线转换显示正确的接收日期,但使用 msgkit 转换的显示

None
。我想知道 Outlook 在预览时获取收到的日期时会查找什么参数。我也尝试从 https://github.com/vikramersid/msg_parser/blob/master/msg_parser/properties/ms_props_id_map.py

提供不同的属性

c# .net outlook msgkit
1个回答
1
投票

确保已设置

PR_CLIENT_SUBMIT_TIME
(
0x00390040
) 和
PR_MESSAGE_DELIVERY_TIME
(
0x0E060040
) MAPI 属性。

您可以在 OutlookSpy(我是其作者)中查看生成的 MSG 文件及其属性 - 单击 OpenIMsgOnIStg 按钮。

另外,如果使用 Redemption (我也是它的作者)是一个选项,那么将 EML 转换为 MSG 就像

一样简单
RDOSession session = new RDOSession();
RDOMail msg = session.CreateMessageFromMsgFile(@"c:\temp\test.msg");
msg.Import(@"c:\temp\test.eml", rdoSaveAsType.olRFC822);
msg.Save();
© www.soinside.com 2019 - 2024. All rights reserved.