如何在python中打开.MSG文件

时间:2017-07-25 06:15:11

标签: python outlook smtp imap

我是python的新手。我想在python中读取.MSG文件并进行解析 目前我正在尝试以下代码

def read_mail(msg):
     import win32com.client
     outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("IMAP")
     msg=outlook.OpenSharedItem(msg)
     mail_list=[];
     mail_list.append(msg.SenderName)
     mail_list.append(msg.SenderEmailAddress)
     mail_list.append(msg.SentOn)
     mail_list.append(msg.Subject)
     mail_list.append(msg.Body)
     del outlook, msg
     return mail_list

msg=("samples\\UseCase1.msg")

read_mail(msg) 

我收到这样的错误

 IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)

com_error: (-2146959355, 'Server execution failed', None, None)

1 个答案:

答案 0 :(得分:0)

错误为CO_E_SERVER_EXEC_FAILURE,这很可能意味着Outlook和您的应用在不同的安全环境下运行。

如果使用Redemption是一个选项(它是一个进程内COMN库,因此没有CO_E_SERVER_EXEC_FAILURE),您可以创建Redemption.RDOSession对象的实例并调用RDOSession.GetMessageFromMsgFile。< / p>