pwd python 安装 模块_Python自动化办公之邮件定时发送
Python自动化之邮件的定时发送,我们这里使用网易163邮箱。
Python邮件操作相关模块的安装
yagmail,The goal here is to make it as simple and painless as possible to send emails. https://github.com/kootenpv/yagmail, 作者希望让发邮件变得更加简单方便。
schedule是一个轻量级的定时任务调度的模块,可以完成每分钟,每小时,每天,周几,特定日期的定时任务。因此十分方便我们执行一些轻量级的定时任务。
库的安装
pip install yagmail schedule
多个模块的安装只需要将模块名字放在依次放在install后面就好。
1. 邮箱的SMTP服务的开启
首先你得有一个163邮箱,当然其他邮箱也是可以的。在设置打开POP3/SMTP,IMAP/SMTP,需要邮箱绑定的手机号发送一条短信,你会得到一个授权码。这个授权码只显示一次,复制下来保存到授权码.txt文件中。
点击开启,会提示发送短信验证,下面是开启之后的状态。
2. 发送邮件
import yagmail
with open('授权码.txt','r') as f: pwd = f.read()
yag = yagmail.SMTP(user='发件人邮箱@163.com',password=pwd,host='smtp.163.com')
mail_to = '收件人邮箱@qq.com'contents=[ '第一部分内容', '第二部分内容',]subject = '这是一个正式的通知'attachments = [r'mydata.zip']yag.send(mail_to,subject,contents,attachments)yag.close()
给多个人发送邮件只需要将收件人都保存在一个列表中就可以。["收件人1邮箱","收件人2邮箱"],实现批量发送。
yagmail.SMTP连接邮箱的时候需要带上授权码,我们可以先注册授权码(只需要一次),后续的连接邮箱就可以不需要带上授权码。
# with open('授权码.txt','r') as f:# pwd = f.read()# yagmail.register('langkun1994@163.com',pwd)#只需要运行一次,之后就可以注释掉yag = yagmail.SMTP(user='发件人邮箱@163.com',host='smtp.163.com')
3. 定时发送邮件
使用schedule定时任务实现定时发送邮件,将上面的发送邮件代码封装到一个函数中,schedule实现定时发送邮件。
import timeimport scheduleimport yagmaildef send_mail(): with open('授权码.txt', 'r') as f: pwd = f.read()
yag = yagmail.SMTP(user='发件人邮箱@163.com', password=pwd, host='smtp.163.com')
contents = [ '第一部分内容', '第二部分内容', ] attachments = [r'mydata.zip']
yag.send('收件人邮箱@qq.com', '这是一个正式的通知', contents, attachments) yag.close()
schedule.every(10).minutes.do(send_mail)#每十分钟schedule.every().hour.do(send_mail)#每小时schedule.every().day.at('10:30').do(send_mail)#每天的10:30schedule.every(5).to(10).minutes.do(send_mail)#5-10分钟schedule.every().monday.do(send_mail) #每周一schedule.every().wednesday.at('10:30').do(send_mail)#每周三10:30schedule.every().minute.at(':20').do(send_mail)#每分钟的20秒
while True: schedule.run_pending() time.sleep(1)
希望可以有帮助,python自动化可以提高办公的效率,节省很多的重复性工作的时间。
pwd python 安装 模块_Python自动化办公之邮件定时发送相关推荐
- python办公自动化模块_Python自动化办公Excel模块openpyxl原理及用法解析
openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...
- pwd python 安装 模块_python模块学习之OS、PWD
os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcw ...
- pwd python 安装 模块_python pwd和grp模块
1.pwd模块,提供了一个Unix 密码数据库(/etc/passwd)的接口,这个数据库包含本地机器用户账户信息. pwd.getpwuid(uid): 返回对应uid的用户信息 pwd.getpw ...
- python 自动化办公要装哪些模块_Python自动化办公(内容)
python自动化办公(python操作Excel.Word.PDF.PPT) python使用openpyxl操作excel: python使用PyPDF2和pdfplumber操作pdf: pyt ...
- python mysql 遍历_Python自动化办公系列六(pdf文档处理)
PDF 表示 Portable Document Format,使用 .pdf 作为文件扩展名.虽然 PDF 支持许多功能,但现在我们专注于最常做的两件事:从 PDF 读取文本内容和从已有的文档生成新 ...
- python办公自动化知识点_Python自动化办公知识点整理汇总|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困 ...
- python自动化办公模块_Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!
openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...
- pwd python 安装 模块_在windows上安装pwd模块时出错
我正在尝试在windows上使用easy_install安装"pwd"模块,遇到以下错误,有人可以帮助修复此错误吗?C:\Dropbox\scripts>easy_insta ...
- python keys模块_python自动化常用模块
python自动化常用函数 导入time模块 import time 导入ActionChains模块(鼠标) from selenium.webdriver.common.action_chains ...
最新文章
- 微生物常见20种培养基配方
- 【Paper】2013_Cooperative control of multi-agent systems 二阶动态一致性
- 求助,后台跳转至前台,如何实现,谢谢
- Getting the right Exception Context from a Memory dump Fixed
- setitimer()函数
- 万年历c语言大作业实验,C语言实现万年历效果
- 变结构滑模控制抖振处理(1)------动态滑模法
- java 线程亲缘性_第7章 线程调度、优先级和亲缘性(1)
- 大专java考试试题_专科—程序设计基础题库-java.doc
- K-L变换原理、图像压缩与人脸识别实战(附matlab代码)
- JavaScript是什么
- js 判断是ie浏览器
- 黑科技神器-uTools
- UBUNTU安装OpenOffice
- java lambda有必要_深度分析:java8的新特性lambda和stream流,看完你学会了吗?
- 计算机科学的方法论有三个过程,计算机科学与技方法论3.ppt
- Steam上传游戏包体的三种方法
- Ubuntu20.04安装mujoco
- 北斗时间周和GPS时间周计算,JAVA为例
- drupal7 php版本,为内置PHP 5.4服务器提供Drupal 7
热门文章
- Zookeeper和Redis实现分布式锁,附我的可靠性分析
- 我用分布式事务干掉了一摞简历
- 某程序员吐槽:面试八股文害死人!公司新来的应届生满口框架,根本不会写代码!网友:八股文只能招到背题家!...
- 分布式系统中只有两个难题
- 滴滴ElasticSearch平台跨版本升级以及平台重构之路
- Java stream! Kafka steam!流式处理这么火!它究竟是个啥?
- 你真的了解For循环吗?一道For循环Java面试题引发的思考
- 分享8个非常实用但是名气不大的软件
- SaaS项目管理软件有什么用?
- OKR的实施案例:OKR不需要很复杂