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自动化办公之邮件定时发送相关推荐

  1. python办公自动化模块_Python自动化办公Excel模块openpyxl原理及用法解析

    openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...

  2. pwd python 安装 模块_python模块学习之OS、PWD

    os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcw ...

  3. pwd python 安装 模块_python pwd和grp模块

    1.pwd模块,提供了一个Unix 密码数据库(/etc/passwd)的接口,这个数据库包含本地机器用户账户信息. pwd.getpwuid(uid): 返回对应uid的用户信息 pwd.getpw ...

  4. python 自动化办公要装哪些模块_Python自动化办公(内容)

    python自动化办公(python操作Excel.Word.PDF.PPT) python使用openpyxl操作excel: python使用PyPDF2和pdfplumber操作pdf: pyt ...

  5. python mysql 遍历_Python自动化办公系列六(pdf文档处理)

    PDF 表示 Portable Document Format,使用 .pdf 作为文件扩展名.虽然 PDF 支持许多功能,但现在我们专注于最常做的两件事:从 PDF 读取文本内容和从已有的文档生成新 ...

  6. python办公自动化知识点_Python自动化办公知识点整理汇总|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? ​ 这可能是很多非IT职场人士面临的困 ...

  7. python自动化办公模块_Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!

    openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...

  8. pwd python 安装 模块_在windows上安装pwd模块时出错

    我正在尝试在windows上使用easy_install安装"pwd"模块,遇到以下错误,有人可以帮助修复此错误吗?C:\Dropbox\scripts>easy_insta ...

  9. python keys模块_python自动化常用模块

    python自动化常用函数 导入time模块 import time 导入ActionChains模块(鼠标) from selenium.webdriver.common.action_chains ...

最新文章

  1. 微生物常见20种培养基配方
  2. 【Paper】2013_Cooperative control of multi-agent systems 二阶动态一致性
  3. 求助,后台跳转至前台,如何实现,谢谢
  4. Getting the right Exception Context from a Memory dump Fixed
  5. setitimer()函数
  6. 万年历c语言大作业实验,C语言实现万年历效果
  7. 变结构滑模控制抖振处理(1)------动态滑模法
  8. java 线程亲缘性_第7章 线程调度、优先级和亲缘性(1)
  9. 大专java考试试题_专科—程序设计基础题库-java.doc
  10. K-L变换原理、图像压缩与人脸识别实战(附matlab代码)
  11. JavaScript是什么
  12. js 判断是ie浏览器
  13. 黑科技神器-uTools
  14. UBUNTU安装OpenOffice
  15. java lambda有必要_深度分析:java8的新特性lambda和stream流,看完你学会了吗?
  16. 计算机科学的方法论有三个过程,计算机科学与技方法论3.ppt
  17. Steam上传游戏包体的三种方法
  18. Ubuntu20.04安装mujoco
  19. 北斗时间周和GPS时间周计算,JAVA为例
  20. drupal7 php版本,为内置PHP 5.4服务器提供Drupal 7

热门文章

  1. Zookeeper和Redis实现分布式锁,附我的可靠性分析
  2. 我用分布式事务干掉了一摞简历
  3. 某程序员吐槽:面试八股文害死人!公司新来的应届生满口框架,根本不会写代码!网友:八股文只能招到背题家!...
  4. 分布式系统中只有两个难题
  5. 滴滴ElasticSearch平台跨版本升级以及平台重构之路
  6. Java stream! Kafka steam!流式处理这么火!它究竟是个啥?
  7. 你真的了解For循环吗?一道For循环Java面试题引发的思考
  8. 分享8个非常实用但是名气不大的软件
  9. SaaS项目管理软件有什么用?
  10. OKR的实施案例:OKR不需要很复杂