2

我不明白如何使用 Python 解析 Outlook 中突出显示的(选定的)邮件?

我有这个代码,但它适用于最后一封邮件。

import win32com.client

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

inbox = outlook.GetDefaultFolder(6)

messages = inbox.Items
message = messages.GetLast()
body_content = message.body
print (body_content)

需要解析突出显示邮件的发件人电子邮件地址?

4

2 回答 2

1

应该

import win32com.client

outlook = win32com.client.Dispatch("Outlook.Application")
messages = outlook.ActiveExplorer().Selection
message = messages(1)

try:
    if message.SenderEmailType == "EX":
        print("EX: ", message.Sender.GetExchangeUser().PrimarySmtpAddress)
    else:
        if message.SenderEmailType == "SMTP":
            print("SMTP: ", message.SenderEmailAddress)
except Exception as e:
    print(e)
于 2019-03-06T02:28:44.553 回答
0

用于Application.ActiveExplorer.Selection.Item(1)检索当前选定的消息。您的代码检索收件箱中的最后一封电子邮件 - 无论“最后一个”是什么,因为您从未明确对项目集合进行排序。您很可能最终会收到收件箱中最旧的电子邮件。

于 2019-01-30T16:54:05.907 回答