2017-07-25 244 views
0

我是python的新手。我想读的python .MSG文件并执行解析 目前我想下面的代码如何在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) 

回答

0

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

如果使用Redemption是一个选项(这是一个进程内COMN库,所以没有CO_E_SERVER_EXEC_FAILURE),您可以创建Redemption.RDOSession对象的实例,并调用RDOSession.GetMessageFromMsgFile