使用 Python 通过 win32com 访问 outlook

Using Python to access outlook with win32com

我正在努力 python 使用 win32com.client 与 Outlook 集成。

我想做的就是从 outlook 获取最新的电子邮件并(目前)检索并打印附件的名称

我尝试使用的代码:

import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespcae("MAPI")

inbox = outlook.GetDefaultFolder(6)

message = inbox.GetLast()

att = message.Attachmets 

print (att.filename)

输出

com_error: (-2147221005, 'Invalid class string', None, None)

如有任何帮助,我们将不胜感激。

错误是在系统上找不到 Outlook 但您也拼错了 GetNamespace,您有 GetNamespcae

inbox.GetLast() 更改为 messages = inbox.Items,然后 message = messages.GetLast()

例子

import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
messages.Sort('[ReceivedTime]', False)
message = messages.GetLast()

for attachment in message.Attachments:
    print(attachment.FileName)

这是另一个带过滤器的例子