Python脚本未从Outlook中获取最新邮件

时间:2019-02-13 11:11:05

标签: python python-3.x outlook

我有一个python脚本,可以从收件箱中提取最近的邮件,它可以正常工作,但问题是它可以将旧邮件作为最新的电子邮件。

我已经同步了我的Outlook应用程序,它现在也显示了我最近的所有电子邮件,但是python脚本继续在同步之前获取旧邮件。

我还卸载了Outlook Application,并从Microsoft商店下载了新的Outlook Application,但脚本显示的是相同的旧邮件。我卸载了pywin32,希望与Outlook应用程序建立新连接,但没有任何积极结果。

这是我的python脚本:

import win32com.client #pip install pywin32 if not installed

# Connect to Outlook by MAPI
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6) # "6" refers to the index of a folder - in this case,
                                    # the inbox. You can change that number to reference
                                # any other folder
messages = inbox.Items
message = messages.GetFirst()
body_content = message.body
sender = message.sender
subject = message.Subject
date = message.senton.date()
time = message.senton.time()
attachments = message.Attachments
print(body_content)

脚本有问题吗?如何使此脚本与Outlook应用程序同步?

1 个答案:

答案 0 :(得分:2)

我添加了Items.sort()并成功了!

这是我阅读@Devanshu的评论后的做法

messages = inbox.Items
messages.Sort("[ReceivedTime]", True)

我在获取商品之前调用了sort方法。