python自动邮件,python每天定时发送邮件

  python自动邮件,python每天定时发送邮件

  python中的schedule模块可以让我们方便简单的使用计划任务,也就是在特定时间自动执行部分任务的功能。本文将利用该模块实现邮件的自动发送,以供参考。

  00-1010 schedule模块的用法schedule模块的各种时间用法schedule的启动本章是Python的办公自动化一章的最后一章。通过发送计划任务的电子邮件来学习计划模块-计划的使用。(本章内容简短)

  

目录

  Python有一个用于调度任务的轻量级库:schedule。它可以完成每分钟,每小时,每天,每周和特定日期的预定任务。所以我们执行一些轻量级的计时任务是非常方便的。

  

定时模块的使用

  计划任务:

  在特定时间自动执行某些任务的功能。python中的调度模块可以让我们方便地使用调度任务。

  计划安装:

  PIP时间表如果安装失败,尝试更换国产图像源。

  

schedule 模块的介绍

  每隔几分钟就会执行一次func函数,args是该函数的参数:

  schedule . every(count). minutes . do(func,args)

  func函数每天在的10336020执行一次,args是该函数的参数:

  schedule . every()day . at( 10:20 )。do(func,args)

  日程模块支持以下时间:

  描述分钟分钟秒小时小时日日周日程模块支持的远不止这些。下面是一些常用的时间模式。

  

schedule 模块各种时间用法

  说明类型schedule.run_pending执行PS:应该在 while 中执行,至少需要1秒来阻塞。

  代码示例如下:

  #编码:utf-8

  导入smtplib

  导入时间

  导入计划# pip安装计划

  从email.mime.text导入MIMEText

  from email.header导入标题

  从email.mime.multipart导入MIMEMultipart

  第三方的SMPT【脚本中涉及的所有邮箱都是假的,请使用您真实的邮箱进行测试】

  Mail_host=smtp.sina.com #设置邮箱服务器

  Mail_user=conan868242 #设置您自己的邮箱

  Mail_pass=cb997b01a87232b2 #这里是邮箱的密码,也就是授权码;这不是密码。

  Sender=conan868242@sina.com #定义发件人的邮箱地址(实际上是他自己)

  receivers=[ 3241716373 @ QQ.com ]#定义收件人的邮箱(可以是多个收件人)

  # message=mime text( p style= color : red;这是一个测试/p , html , utf-8) #定义消息内容;“普通”是一种格式,意思是普通的文件内容。

  Message=MIMEMultipart() #定义带有附件的邮件对象。

  message[ from ]=header(sender)#定义消息中的发送信息-发送者。

  message[ subject ]=header( Python测试邮件发送, utf-8) #定义消息中发送信息的标题。

  # print(加密的发送内容\n ,message.as_string()) #打印出加密的发送内容。

  Attr=mimetext (open (send.py , rb )。read(), base64 , UTF-8) #定义带附件的邮件内容;(默认为属性);

  #以打开的形式读出要发送的文件。

  #定义内容采用“base64”格式

  attr[ content-type ]= application/octet-stream #定义属性的格式;‘应用程序/八位字节流’代表流上的协议。

  #即定义“附件”的类型

  attr[Content-Disposition]=附件;Filename=send.py #为传输的附件定义一个名称。

  Message.attach(attr) #使用“消息”的“附加”功能添加“附件”

  Message=MIMEText(这是带附件的消息, plain , utf-8) #定义消息的文本内容(即添加消息的主要内容)

  定义发送():

  打印(“邮件开始发送”)

  Try: #捕捉发送邮件的异常

  SmtpObj=smtplib。SMTP() #实例化SMTP协议对象

  SmtpObj.connect(mail_host,25) # Link SMTP服务器

  Smtpobj.login (mail _ user,mail _ pass) # Login邮箱认证

  Smtpobj.sendmail (sender,receivers,message.as _ string ()) #发送邮件;“消息”通过“as_string()”对发送的内容字符串进行加密

  除了smtplib。SMTPException为错误:

  打印( error:{} )。格式(错误))

  if __name__==__main__:

  Schedule.every (10)。seconds.do (send) #每十秒发送一封邮件

  而True: #延迟1秒启动定时任务。

  schedule.run_pending()

  时间.睡眠(1)

  PS:可以考虑添加发送邮件和定时任务的时间差来调试定时任务。我就懒了,不在这里写了。

  运行结果如下:

  关于自动化办公中Python常规邮件的实现的这篇文章到此为止。关于Python的常规邮件的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: