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

时间:2016-05-17 06:58:04

标签: python outlook msg

我想在读写模式下打开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日期。或者其他任何方式吗?

1 个答案:

答案 0 :(得分:1)

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