首页 > 解决方案 > 突然收到错误 pywintypes.com_error MAPI-error-number: 80004001。发生了什么?

问题描述

所以我在我的 Windows 10 上使用 Microsoft Office 365 ProPlus。

我编写了一个 python 脚本,将我的电子邮件从一个帐户复制到另一个帐户并返回。

我的python版本是3.7.3

pywin32版本是223

这个脚本已经运行了两个月了。几天前它突然停止工作。我调查并得到以下错误:

pywintypes.com_error: (-2147352567, 'Ausnahmefehler aufgetreten.', (4096, 'Microsoft Outlook', 'Ein Fehler ist aufgetreten.MAPI-Fehlernummer: 80004001', None, 0, -2147467263), None)

我想用英语会是

pywintypes.com_error: (-2147352567, '发生异常。', (4096, 'Microsoft Outlook', '发生错误。MAPI-error-code: 80004001', None, 0, -2147467263), None)

当我尝试执行时,此错误发生在我的脚本开头

# imports
import win32com
import win32com.client
import datetime

Outlook = win32com.client.Dispatch("Outlook.Application")
ns = Outlook.GetNamespace("MAPI")
# connect to the shared calendar
recipient = ns.createRecipient(acc) # change to mail you want to get appointments from
resolved = recipient.Resolve()
appointments = ns.GetSharedDefaultFolder(recipient, 9).Items

我不知道为什么ns.GetSharedDefaultFolder(recipient, 9).Items会突然抛出这个错误。有小费吗?

标签: pythonoutlookpywin32outlook-restapimapi

解决方案


首先,Logon在访问 MAPI 之前添加方法,如果 Outlook 刚刚启动,它将登录到配置文件。如果它已经在运行,它不会影响任何东西。然后尝试将两个邮箱添加为委托存储(请参阅对话框的Advanced选项卡Exchange account properties)。您应该看到两个邮箱。

使用该Resolve方法,然后检查返回的值。这是真的吗?

最后,我建议检查收件人的姓名。


推荐阅读