【发布时间】:2020-05-18 11:35:59
【问题描述】:
所以我在 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', 无, 0, -2147467263), 无)
我猜英文应该是这样的
pywintypes.com_error: (-2147352567, '发生异常。', (4096, 'Microsoft Outlook', '发生错误。 MAPI 错误代码:80004001', 无,0,-2147467263),无)
当我尝试执行时,此错误发生在脚本的开头
# 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 会突然抛出这个错误。有什么建议吗?
【问题讨论】:
-
错误是 E_NOTIMPL(没有多大意义)。可以从同一配置文件中的 Outlook 访问该文件夹吗?
-
在 Outlook 内部,我可以修改和创建两个日历的日历条目。它们也被添加为委托存储。
-
你为 acc 变量指定了什么?调用recipient.Resolve后,receiver.AddressEntry.Type的值是多少?
-
acc 变量是电子邮件地址,因此是帐户名称。对于两个邮件帐户,recipient.AddressEntry.Type 的值都是“EX”。
标签: python outlook pywin32 outlook-restapi mapi