python自动化操作邮件

一、安装需要的模块

pip install yagmail  #专门为gmail设计的邮件发送模块,可以极大简化邮件发送流程,其他邮箱也可以使用
pip install keyring  #安全密码管理,避免代码中硬编码密码等敏感信息
pip install schedule #任务调度
pip install mbox     #邮件处理

二、常用示例

1.存储和读取密码

import keyring
import yagmailyagmail.register('960193682@qq.com', 'password')  # 只要注册一遍,后面使用就不需要密码了,如果密码改了再次使用新密码注册即可
password = keyring.get_password("yagmail", "96019xxx@qq.com") #获取密码
print(password)

2.发送邮件

import yagmailyag = yagmail.SMTP(user='9601xxxx@qq.com', host='smtp.qq.com', port=465)  # 如果用户名已经注册过,密码就不需要填了,否则填入密码即可
# 除了文本,HTML也可以直接写,添加附件直接指定文件路径,当前目录可以不写前缀,如 test.png,如果附件需要展示在正文需要 可以使用inline参数指定
contents = ['文本内容', '<a href="https://www.baidu.com">百度搜索</a>', 'test.png', yagmail.inline('test.png')]
yag.send('xxxx@cheryholxxx.com', '测试邮件', contents) # 如果是群发,收件人使用列表格式

3.定时发送

#官方示例
import schedule
import timedef job():  # 把job换成我们发送邮件的函数即可print("I'm working...")schedule.every(10).minutes.do(job) # 每10分钟执行一次
schedule.every(5).to(10).minutes.do(job) # 每5~10分钟执行一次
schedule.every().hour.do(job)  #每小时执行一次
schedule.every().day.at("10:30").do(job) #每天 10:30 执行
schedule.every().monday.do(job) #每周一执行
schedule.every().wednesday.at("13:15").do(job) #每周三执行13:15
schedule.every().day.at("12:42", "Europe/Amsterdam").do(job)  #Europe/Amsterdam时区的每天12:42执行
schedule.every().minute.at(":17").do(job) #每分钟的第17秒执行while True:schedule.run_pending()time.sleep(1)参考文档:https://schedule.readthedocs.io/en/stable/

4.接收与查找邮件  

import keyring
from imbox import Imboxpassword = keyring.get_password("yagmail", "9601xxxx@qq.com")
print(password)with Imbox('imap.qq.com', '9601xxxx@qq.com', password, port=993,ssl=True) as imbox:all_inbox_messages = imbox.messages()  # 读取所有邮件for uid, message in all_inbox_messages:  # uid可以查找到邮件,后续可以做标记或者删除print(uid)print(message.subject) # 常用读取参数见下方print(message.body['plain'])#imbox.messages() 从服务端获取邮件时可以的参数
unread:  未读邮件
flagged: 红旗/标星邮件
unflagged:  非红旗/标星邮件
sent_from': 某发件人邮件
sent_to: 某收件人邮件
date__gt: 某时间之前的邮件  值格式为:datetime.data(2025,09,09)  年月日
date__lt: 某时间之后的邮件
date__on: 某天的邮件
subject: 邮件主体
uid__range': 邮件编号
text': 邮件内容#message.xxx  单个邮件读取时可用参数
发件人:message.sent_from
收件人:message.sent_to
主题:message.subject
时间:message.date
文本格式内容:message.body['plain']
HTML格式内容:message.body['html']
附件:message.attachments

  

  

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix配置mysql监控

zabbix配置mysql监控 目录zabbix配置mysql监控1.创建用户2.编辑zabbix配置文件3.配置宏4.添加如下监控模板 1.创建用户 CREATE USER zbx_monitor@% IDENTIFIED BY password; GRANT REPLICATION CLIENT,PROCESS,SHOW DA…

redis实现定期关单

在SpringBoot项目中,实现订单超过24小时过期并自动关单,常见有以下几种方案,我会逐一说明,并给出推荐实现:✅ 推荐方案:使用 延迟队列(DelayQueue) 或 消息队列(如RabbitMQ延迟消息) 方案1:使用 Redis + 延…

详细介绍:5G nr频段_5g哪个信道信号强

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

第18章 Day22 高阶混淆ast进阶

网站:https://www.mps.gov.cn/ 内容:加速乐一键解混淆 混淆代码 var _0x2414 = [wr7CksK8Uw==, wrbDosKFOQ==, woZNHCg=, w48zCBM=, wrbCnAka, bcOJKcO8, KCnDpMK3, w6F9FyY=, w5Rjw5xZ, WcKGGn4=, w7BVw6hs, M8OVwp…

关于ubuntu 用户切换的细节 su - user 和su user

只在「登录交互式 shell」(login shell)时执行 /etc/profile 会去跑 /etc/profile.d/*.sh。 如果你用 su seed,默认启动的是 非登录 shell,不会跑 /etc/profile,自然也不会加载 /etc/profile.d/conda.sh。 如果你…

网站的制作公司菜单宣传网站怎么做的

【Apache Doris】周FAQ集锦&#xff1a;第 1 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目&#xff01; 在这个栏目中&#xff0c;每周将筛选社区反馈的热门问题和话题&#xff0c;重点回答并进行深入探讨。旨在为广大用户和…

新开传奇网站180合击国际摄影网站

为什么xml_rpc服务端读取数据都是通过file_get_contents(‘php://input, ‘r)。而不是从$_POST中读取&#xff0c;正是因为xml_rpc数据规格是xml&#xff0c;它的Content-Type是text/xml。php://input碰到了multipart/form-data在使用xml-rpc的时候&#xff0c;server端获取cli…

网站开发软硬件配置大丰区住房和城乡建设局网站

距离春节还有不到一个月你准备好给家人的春节礼物了吗&#xff1f;疫情下&#xff0c;为了让程序猿同学开心加班小编提前准备了一份牛年大礼 周五福利日&#xff0c;人人都可免费领会员&#xff01;助你提前实现CSDN会员卡自由&#xff01;奖品多多&#xff0c;不仅有CSDN月卡会…

用 SeaTunnel 同步 MySQL 到 Doris:全量增量 + SQL 过滤

Apache SeaTunnel 能够实现 MySQL 到 Doris 的全量和增量数据同步,同时也支持 SQL 级别的数据过滤。Apache SeaTunnel 能够实现 MySQL 到 Doris 的全量和增量数据同步,同时也支持 SQL 级别的数据过滤。以下是具体实现…

在CodeBolcks下wxSmith的C++编程教程——使用自定义绘制和鼠标处理创建项目

0.前言欢迎来到 wxSmith 教程页面!wxSmith 与 Code::Blocks、wxWidgets 和 C++ 编译器相结合,为您提供一种所见即所得的方式来创建具有图形用户界面 (GUI) 的应用程序。该组合形成了一个用于快速应用程序开发 (RA…

trae 配置mysql_mcp

trae 配置mysql_mcpMySQL MCP 安装配置完整指南 🎉 成功案例 版本: @benborla29/mcp-server-mysql@2.0.2 状态: ✅ 安装成功 环境: Windows + Trae.ai 📋 安装步骤 1. 安装稳定版本 npm install -g @benborla29/mc…

Apache NiFi 1.28.1 集群 + Kerberos 认证 + 多租户模式部署

Apache NiFi 1.28.1 集群 + Kerberos 认证 + 多租户模式部署1. 系统要求Java 8 或 Java 112. 物料包准备包名 下载地址 说明nifi-1.28.1-bin.zip https://archive.apache.org/dist/nifi/1.28.1/nifi-1.28.1-bin.zip Ni…

【cv】cycleGAN代码解析:train.py

【cv】cycleGAN代码解析:train.pyPosted on 2025-09-25 16:37 SaTsuki26681534 阅读(0) 评论(0) 收藏 举报import time # 计时:统计每轮/每次迭代耗时 from options.train_o…

做移动网站优化网站建设过程中要怎么打开速度

这次我们将学着怎么从一个深度图里面导出边界。我们对3种不同种类的点很感兴趣:物体的边框的点&#xff0c;阴影边框点&#xff0c;和面纱点(在障碍物边界和阴影边界)&#xff0c;这是一个很典型的现象在通过雷达获取的3D深度。 下面是代码 /* \author Bastian Steder */#incl…

注册 网站开发 公司重庆招聘网

作者 | 轩辕之风O来源 | 编程技术宇宙相信大家这两天应该被这么一条新闻刷屏了&#xff1a;这个漏洞到底是怎么回事&#xff1f;核弹级&#xff0c;真的有那么厉害吗&#xff1f;怎么利用这个漏洞呢&#xff1f;我看了很多技术分析文章&#xff0c;都太过专业&#xff0c;很多非…

创建网站怎么创电子商务网站有哪些类型

项目介绍&#xff1a; 使用javaspringbootmysql开发的法律咨询网&#xff08;文书&#xff09;&#xff0c;系统包含管理员、用户角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;登录系统&#xff1b;用户管理&#xff1b;文章管理&#xff08;法律知识&#xff09…

网站建设公司业务在哪里来百度网站的总结

I老师就职于双非二本院校&#xff0c;希望通过出国研修以提升科研背景&#xff0c;在公派访学和申请导师出资的博士后之间&#xff0c;其选择了后者。最终我们落实了美国耶鲁大学的职位&#xff0c;头衔为Associate Research Scientist&#xff08;副研究科学家&#xff09;&am…

企业网站 联系我们电商培训机构有哪些?哪家比较好

常用示例 入门 Hello CMake CMake 是一个用于配置跨平台源代码项目应该如何配置的工具建立在给定的平台上。 ├── CMakeLists.txt # 希望运行的 CMake命令 ├── main.cpp # 带有main 的源文件 ├── include # 头文件目录 │ └── header.h └── src # 源代码目录 ├…

深入解析:李宏毅2023机器学习作业 HW01实操

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

基于Java+SpringBoot+SSM,Flask福聚苑社区团购体系(源码+LW+调试文档+讲解等)/福聚苑社区/团购系统/社区团购/福聚苑/团购/社区/环境/福聚苑小区/在线团购/社区购物

基于Java+SpringBoot+SSM,Flask福聚苑社区团购体系(源码+LW+调试文档+讲解等)/福聚苑社区/团购系统/社区团购/福聚苑/团购/社区/环境/福聚苑小区/在线团购/社区购物pre { white-space: pre !important; word-wrap: nor…