【发布时间】:2023-03-27 01:30:02
【问题描述】:
我想阅读我的 Outlook 电子邮件,并且只阅读未读邮件。我现在的代码是:
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.Items
message = messages.GetFirst ()
while message:
if message.Unread == True:
print (message.body)
message = messages.GetNext ()
但这是从第一封电子邮件到最后一封电子邮件。我想以相反的顺序进行,因为未读的电子邮件将在顶部。有没有办法做到这一点?
【问题讨论】:
-
那不只是改变 message = messages.GetFirst() 吗?到 messages.GetLast() 如果存在或寻找一个函数来做类似的事情
-
是的,有一个
GetLast和一个GetPrevious方法。如何以相反的顺序获得它们应该是不言而喻的...... -
GetLast()和GetNext()不能一起工作 @OmidCompSCI 我找不到GetPrevious()。谢谢@kindall