如何解决win32com-使用python 3.7从重复的电子邮件中获取最新的Outlook电子邮件
我已使用win32com将Outlook与Python 3.7相连。我正在尝试按照主题行和发件人ID下载附件并将附件保存到指定位置。我已经能够通过读取python中的excel文件成功完成此操作,该excel文件由主题行和目标组成(以保存附件),以使代码更具动态性,但是我仍然面临一个问题-当我拥有同一天有多封主题相同的电子邮件,由于电子邮件重复,因此python无法保存附件。
我已根据“今天”过滤了我的Outlook收件箱项目,但我希望提取最近的电子邮件,我认为这些电子邮件只能基于一起考虑的日期时间来完成。
示例-主题行为“测试”。我在同一天的不同时间收到两封与此主题行的电子邮件。如何从这两封电子邮件中的最新电子邮件中下载附件?我的excel文件仅包含“测试”主题行的一项。
任何帮助将不胜感激。
谢谢!
val_date = datetime.date.today()
for i in Items:
# print(i)
if i.Subject == file['Subject'][j] and i.ReceivedTime.date() == val_date:
# print(i,i.ReceivedTime)
#j = j + 1
# print("j:",j)
for attachment in i.Attachments:
print(attachment.FileName)
解决方法
首先,切勿循环浏览文件夹中的所有项目-这就是Items.Find/FindNext和Items.Restrict的用途。
第二,切勿对日期时间值使用"=="
运算符:即使您将值匹配到毫秒,也永远不会满足该条件。在您的情况下,这只是日期。始终使用范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。