【问题标题】:Python Win32 can't read outlook email body'sPython Win32 无法读取 Outlook 电子邮件正文
【发布时间】:2017-05-13 01:02:17
【问题描述】:

我正在尝试将 win32 模块用于 python 并获取我的电子邮件正文。但是,每当我尝试获取它时,我都会收到我尝试获取的任何电子邮件正文的错误。我能够获得消息主题/接收时间/等,但我似乎无法获得正文。

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
message = messages.GetLast()
body_content = message.body

---------------------------------------------------------------------------
com_error                                 Traceback (most recent call last)
<ipython-input-41-bdd6c5734297> in <module>()
      1 messages = inbox.Items
      2 message = messages.GetLast()
----> 3 body_content = message.body#.encode('ascii', 'ignore').decode('ascii')
      4 #print (body_content)

C:\Users\e659383\Documents\portableapps\WinPython-64bit-3.4.3.5\python-3.4.3.amd64\lib\site-packages\win32com\client\dynamic.py in __getattr__(self, attr)
    509                         debug_attr_print("Getting property Id 0x%x from OLE object" % retEntry.dispid)
    510                         try:
--> 511                                 ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
    512                         except pythoncom.com_error as details:
    513                                 if details.hresult in ERRORS_BAD_CONTEXT:

com_error: (-2147467259, 'Unspecified error', None, None)

对于我尝试获取正文的任何​​电子邮件,我都会收到相同的错误。

【问题讨论】:

    标签: python email winapi outlook message


    【解决方案1】:

    不是 100% 确定,但也许正文应该使用大写 B,因为它似乎引用了 C# 属性。

    https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._mailitem.body.aspx

    所以: body_content = message.Body

    【讨论】:

    • 你有杀毒软件吗? -2147467259 转换为错误代码:0x80004005。这可能是由防病毒脚本阻止功能引起的。
    • 嗯,我们确实安装了 Mcaffee。似乎很奇怪,它可以专门阻止获取消息的正文。但我想这可能是有道理的,因为我创建了一个快速的 vb 脚本来尝试获取消息,但它也不起作用......
    • 我同意这很奇怪。也许您可以暂时禁用防病毒软件,看看是不是您的问题?
    猜你喜欢
    • 2019-12-16
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 2019-01-09
    • 2021-11-03
    • 1970-01-01
    • 2020-05-30
    • 2022-06-13
    相关资源
    最近更新 更多