Python pywin32 outlook邮箱

Python pywin32 outlook邮箱

安装依赖

sh 复制代码
pip install pywin32

使用实例

python 复制代码
outlook = client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)  # 6表示收件箱

# 创建时间范围过滤器
end_time = dt.now()
start_time = end_time - timedelta(days=3)
# Restrict()过滤时间格式 %Y-%m-%d %H:%M %p必须带有%p,否则可能报错,或者没数据
start_str = start_time.strftime("%Y-%m-%d %H:%M %p")   
end_str = end_time.strftime("%Y-%m-%d %H:%M %p")
filter_str = f"[ReceivedTime] > '{start_str}' AND [ReceivedTime] < '{end_str}'"
# 通过时间过滤邮件
emails= inbox.Items.Restrict(filter_str)

for email in emails:
    # 邮件标题
    print(email.Subject)
    # 发送人
    print(email.SenderName)
    # 邮件内容(HTML格式)
    print(email.HTMLBody)
    # 邮件接收时间
    print(email.ReceivedTime)
    # 文件对象,包括附件,邮件中截图,图片等文件
    print(email.Attachments)
    # 邮件收件人(包括抄送人)信息对象
    for i in message.Recipients:
        print(i.Name)      # 收件人名称
        print(i.Resolved)	 # 
        print(i.Address)	# 收件人邮箱地址
        print(i.Type)     # 1:收件人,2:抄送人

    # 附件对象
    for attachment in email.Attachments:
        # attachment.FileName 文件名
        filename = str(attachment.FileName)
        suffix = os.path.splitext(filename)[1].strip(".")
        if filename.startswith('image') and suffix in ["png", "jpg"]: continue
        print(filename)
        dir_path = r'D:\test'
        filepath = os.path.join(dir_path, attachment.FileName)
        # attachment.SaveAsFile()保存文件到指定路径
        attachment.SaveAsFile(filepath)
相关推荐
你驴我17 分钟前
WhatsApp 多账号下消息已读回执的实时聚合与推送实践
后端·python
愚公移码25 分钟前
蓝凌EKP18产品:流程虚拟机(PVM)
java·开发语言·前端
十月的皮皮30 分钟前
stm20260720-从新手 C 到量产 STM32 工程:程序设计推导指南
c语言·开发语言·stm32·stm32cubemx·hal库
Echo缘1 小时前
嵌入式系统C语言资源分类与内存分布分析
c语言·开发语言
JaneConan2 小时前
鸿蒙 ArkUI 深水区:@Watch 和 @Observed,状态变了「自动跑」+ 嵌套对象「深层重绘」
开发语言·后端·ui·harmonyos
赤水无泪2 小时前
qt中图标、名称的设置方式
开发语言·qt
王莎莎-MinerU2 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
橘子海全栈攻城狮2 小时前
【最新源码】基于SpringBoot + Vue的超市管理系统的设计与实现D002
java·开发语言·vue.js·spring boot·后端·spring
在水一缸2 小时前
深入浅出 Catch2:现代 C++ 测试框架的优雅实践
开发语言·c++·单元测试·log4j·测试框架·catch2
AC赳赳老秦2 小时前
OpenClaw 采集任务日志审计:全程记录采集行为,满足合规溯源与企业审计要求
java·大数据·python·数据挖掘·数据分析·php·openclaw