清楚地记录了使用 python win32com outlook 阅读电子邮件的功能

新手上路,请多包涵

我试图通过 win32com 更好地理解 outlook 交互。我一直无法找到允许我利用 win32com 有效阅读电子邮件的明确文档,从我目前的调查来看,这似乎是用户的一种相当普遍的情绪。因此出现以下信息和请求:

有人可以吗?

1.给出清晰文档所在位置的链接(如果存在的话)

2.展开下面

以下是我根据阅读其他人的代码发现的当前功能。

采取以下代码:

 import win32com

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

inbox=outlook.GetDefaultFolder(6)

messages=inbox.Items

for message in messages:
    attachments = message.attachments

    for attachment in attachments:
        pass

上面使用的对象具有以下我知道的功能:

收件箱 -

 .Folders
.Items

消息 -

 .GetFirst()
.GetLast()
.GetNext()
.GetPrevious()
.Attachments

信息 -

 .Subject
.Body
.To
.Recipients
.Sender
.Sender.Address

附件 -

 .item()
.Count

附件 -

 .filename

如果您知道更多功能,请在您的答案中添加。

原文由 Phoenix 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

应用程序参考的 visual basic 是您的朋友。尝试从此链接开始…

互操作 Outlook Mailitem 属性

例如,我可以看到该消息可能具有比您上面列出的更多的属性。例如。

  • 消息.CC
  • 消息.重要性
  • 消息.LastModificationTime

原文由 Genome 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于每个想知道如何访问任何默认文件夹而不仅仅是“收件箱”的人来说,这里是列表:

 3  Deleted Items
4  Outbox
5  Sent Items
6  Inbox
9  Calendar
10 Contacts
11 Journal
12 Notes
13 Tasks
14 Drafts

还有更多(提醒、同步错误等);您可以使用此代码获取整个列表(灵感来自 John Cook 的文件夹解决方案):

 import win32com
outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
for i in range(50):
    try:
        box = outlook.GetDefaultFolder(i)
        name = box.Name
        print(i, name)
    except:
        pass

我不会在这里粘贴整个列表,因为我的是波兰语,不会真正有帮助。

原文由 pajonk 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题