如何解决使用 Python 访问带有 win32com 的 Outlook
我正在努力使用 win32com.client 将 python 与 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)
这是另一个带有过滤器 https://stackoverflow.com/a/57931132/4539709
的示例版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。