Python: 以读写模式打开 Outlook 电子邮件 (.msg) 文件

Python: Open Outlook Email (.msg) file in read write mode

我想以读写模式打开 Outlook 电子邮件 (msg) 文件来解析它并更改日期值。从 msg 文件中获取(读取模式)日期,然后将(写入模式)虚拟日期替换为 msg 文件。到目前为止我一直在关注。

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
msg = outlook.OpenSharedItem(r"C:\Users\abc.msg")

print msg.SentOn

我可以获取 SendOn 日期。这意味着它默认处于读取模式。如何以写入模式打开它并将 SendOn 日期替换为 Dummy 日期。或者有其他方法吗?

SentOn 属性 在 Outlook 对象模型中是只读的。为此,您需要扩展 MAPI(C++ 或 Delphi,使用 OpenIMsgOnIStg,设置 PR_CLIENT_SUBMIT_TIME 属性)或 Redemption(任何语言):

  set Session = CreateObject("Redemption.RDOSession")
  set Msg = Session.GetMessageFromMsgFile("C:\Users\abc.msg")
  Msg.SentOn = #5/17/2016#
  Msg.Save