爬取outlook邮件

背景:工作中遇到需求,获取outlook邮箱中某段时间的邮件附件,本地存储

import win32com.client as win32
import os
import datetime

outlook = win32.Dispatch('outlook.application') # 获取outlook句柄

mapi = outlook.GetNamespace('MAPI') # 获取API

messages = mapi.Folders("test@qq.com").Folders("收件箱").Items # 收件箱所有邮件


start_date = datetime.datetime(2022, 12, 30)

end_date = datetime.datetime(2023, 1, 1)

WoYaoDeYouJian = messages.Restrict("[ReceivedTime] >= '" + start_date.strftime('%m/%d/%Y %H:%M %p') + "' AND [ReceivedTime] <= '" + end_date.strftime('%m/%d/%Y %H:%M %p') + "'") # 筛选出2019年至今的邮件

outputDir = r"D:\attachment"

try:
for message in list(WoYaoDeYouJian):
try:
s = message.sender
for attachment in message.Attachments:
attachment.SaveASFile(os.path.join(outputDir, attachment.FileName))
print(f"attachment {attachment.FileName} from {s} saved")
print(message.ReceivedTime)
except Exception as e:
print(str(e))
except Exception as e:
print(str(e))

  

posted @   队长给我球  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示