尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Python自动转发exchange邮件(exchangelib)

Python自动转发exchange邮件(exchangelib)
📅 发布时间:2026/6/20 16:52:15

Python自动转发exchange邮件(exchangelib)

自动转发邮件,不作为附件

#导入exchangelib库模块
from exchangelib import NTLM, IMPERSONATION, Account, Credentials, Configuration, DELEGATE, Mailbox, Folder, Message, HTMLBody, FileAttachment, ItemAttachment
from exchangelib.protocol import BaseProtocol, NoVerifyHTTPAdapter
import sys,base64,time,random
import requests, urllib3
from datetime import datetime,timedelta
#定义个人隔离区邮件密送邮箱地址、账号、密码,用于读取该邮箱邮件
usermail = "username@yx.com"
username_appimp = "domain\\username"
password_appimp = "password"
mail_server = "mail.yx.com"######### 取消SSL安全连接警告 #####################################
urllib3.disable_warnings()
# Tell exchangelib to use this adapter class instead of the default
# exchangelib provides a sample adapter which ignores TLS validation errors. 
# Use at own risk. NTML is NT LAN Manager.
BaseProtocol.HTTP_ADAPTER_CLS = NoVerifyHTTPAdapter
######### 取消SSL安全连接警告 ######################################通过EWS连接到Exchange
credentials = Credentials(username=username_appimp, password=password_appimp)
config = Configuration(server=mail_server, credentials=credentials, auth_type = NTLM, max_connections=3)
try:account = Account(primary_smtp_address=usermail, autodiscover=False,config=config,access_type=DELEGATE, #IMPERSONATION,
    )
except Exception as e:print(f'Error with connect to Exchange,Exit: {e}')exit(1)# print(account)def forward_email(original_message, forward_to_emails):"""转发邮件,原始邮件内容不作为附件Parameters:original_message: 原始邮件对象forward_to_emails: 转发目标邮箱列表"""# from_sender = original_message.sender.name if original_message.sender else '未知'# to_recipients = ','.join([recipient.name for recipient in original_message.to_recipients])# cc_recipients = ','.join([recipient.name for recipient in original_message.cc_recipients]) if original_message.cc_recipients else " "# send_time =  original_message.datetime_received.strftime('%Y-%m-%d %H:%M:%S')forward_body = original_message.body if original_message.body else original_message.text_body# # 构建转发邮件内容# forward_body = f'''# {mail_body}# '''# 创建转发邮件forward_msg = Message(account=original_message.account,folder=original_message.account.sent,subject=f"转发: {original_message.subject}",body=HTMLBody(forward_body),to_recipients=[Mailbox(email_address=email) for email in forward_to_emails])attachment_count = 0for attachment in original_message.attachments:if isinstance(attachment, FileAttachment):# if self._is_signature_attachment(attachment):#     signature_attachment_count += 1#     continue# 创建新的附件对象new_attachment = FileAttachment(name=attachment.name,content_type=attachment.content_type,content=attachment.content,content_id=attachment.content_id,  # 保留 content_id 用于 cid 引用is_inline=attachment.is_inline      # 保留是否内嵌
)forward_msg.attachments.append(new_attachment)attachment_count += 1# 发送邮件
    forward_msg.send_and_save()print(f"邮件已成功转发至: {', '.join(forward_to_emails)}")#遍历exchange的隔离区邮箱,获取5分钟前 - 最近24小时内的邮件 
end = (datetime.now() - timedelta(minutes=0)).replace(tzinfo=account.default_timezone)
start = (datetime.now() - timedelta(hours=100)).replace(tzinfo=account.default_timezone)
filter_items = account.inbox.all().filter(datetime_received__range=(start, end))
print(f'待处理邮件数量: {filter_items.count()} 封')
if filter_items.count() > 0:print(f'待处理邮件数量: {filter_items.count()} 封,开始处理')i = 1
for item in filter_items[:3]:print(item.sender.email_address)print(item.subject)forward_email(original_message=item,forward_to_emails=["48359@qq.com", "mom@163.com"])

 

相关新闻

  • 2025 武汉高三文化课培训学校权威推荐榜单
  • 上海二类医疗器械经营备案代办机构推荐:基于合规需求的客观筛选
  • 2025集成电路封装国产键合机推荐榜 耐用性与场景适配指南

最新新闻

  • Gemini 3.1 Pro国内合规落地:API直连+本地编排实战指南
  • 2026年抗抑菌剂/消毒产品检测机构推荐:广州市微生物研究所集团专业服务 - 品牌推荐官
  • 2025年厨房家居用品实力厂家推荐:青岛乐博智家密封罐/果盘/冷萃壶全系供应 - 品牌推荐官
  • CentOS 8 LAMP环境搭建与三重加固实战指南
  • 2026年化工原料优质供应商推荐:山东喜玛供应链管理有限公司1,2-丙二醇等全系供应 - 品牌推荐官
  • Fate/Grand Automata:5步掌握F/GO安卓自动战斗工具配置与使用

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号