Outlook / Python:在屏幕上打开特定消息

时间:2013-04-09 12:03:43

标签: python outlook

我想在Outlook中使用Python脚本执行“简单”任务,但我通常使用PHP,这对我来说有点困难。

这是任务:

  • 打开Outlook(没关系)
  • 查看特定帐户,例如:test@test.com
  • 打开最后一封邮件

我想在屏幕上打开“真实”消息窗口,而不仅仅是访问内容。 有可能吗?

2 个答案:

答案 0 :(得分:1)

对于您的第二个要求,该帐户可以是共享收件箱吗?

以下是其余的代码:

import win32com.client

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

inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
message = messages.GetLast()
message.display()

答案 1 :(得分:0)

这是python中的exchangelib的另一个示例:

https://medium.com/@theamazingexposure/accessing-shared-mailbox-using-exchangelib-python-f020e71a96ab

以下是获取最后一封电子邮件的代码段。我使用了订购方式的组合,并根据您的订购方式选择了第一个或最后一个:

from exchangelib import Credentials, Account, FileAttachment

credentials = Credentials('FirstName.LastName@Some_Domain.com', 'Your_Password_Here')
account = Account('FirstName.LastName@Some_Domain.com', credentials=credentials, autodiscover=True)
filtered_items = account.inbox.filter(subject__contains='Your Search String Here')
print("Getting latest email for given search string...")
for item in account.inbox.filter(subject__contains='Your Search String Here').order_by('-datetime_received')[:1]:   #here is the order by clause:: you may use order_by('datetime_received')[:-1]
    print(item.subject, item.text_body.encode('UTF-8'), item.sender, item.datetime_received) #item.text_body.encode('UTF-8') gives you the content of email

在尝试打开真实消息时可能会遇到一些挑战,但是一旦有解决方案,我将更新此部分。如果我可能会问::您是否正在寻找仅python解决方案?