使用 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)
这是另一个带过滤器的例子
我正在努力 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)
这是另一个带过滤器的例子