我是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)
答案 0 :(得分:0)
错误为CO_E_SERVER_EXEC_FAILURE
,这很可能意味着Outlook和您的应用在不同的安全环境下运行。
如果使用Redemption是一个选项(它是一个进程内COMN库,因此没有CO_E_SERVER_EXEC_FAILURE),您可以创建Redemption.RDOSession对象的实例并调用RDOSession.GetMessageFromMsgFile
。< / p>