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)
相关推荐
极客笔记Jack5 小时前
Scanpy AnnData 对象深度解析:高效操作数据结构的10个技巧
python
asdfg12589635 小时前
C 语言中产生伪随机数的标准做法
c语言·开发语言
KobeSacre5 小时前
JUC 概述
java·开发语言
颜酱5 小时前
LangChain调用向量模型,存入向量数据库
python·langchain
2501_928945526 小时前
七本性全面签名体系:从互递归类型到∞-范畴生成语法
python
Jun6266 小时前
QT(2)-通过管道关联CMD
开发语言·qt·命令模式
Deep-w6 小时前
【MATLAB】基于离散 LQR 的车辆横向轨迹跟踪控制方法研究
开发语言·算法·matlab
2601_961194026 小时前
考研资料电子版|去哪找|网盘
java·c语言·c++·python·考研·php
于先生吖7 小时前
前后端分离二手商城开发,质检登记、回收回款整套业务源码部署教程
java·开发语言·uni-app
veminhe7 小时前
关于下载pip install faiss-cpu失败的问题
python·pip·faiss