罗田县升平网络工作室,一家专业从事网站建设的工作室

罗田县社区

 找回密码
 加入罗田县社区

QQ登录

只需一步,快速开始

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 395|回复: 0

Python实现定时发送监控邮件

[复制链接]

685

主题

672

帖子

788

积分

社区达人

积分
788
发表于 2022-1-12 07:10:03 | 显示全部楼层 |阅读模式
目录


  • 一、自动定时任务运行详情
  • 二、开启POP3/SMTP服务
  • 三、发送邮件

    • 1 导入库
    • 2 设置邮件内容
    • 3 添加附件
    • 4 发送邮件
    • 5 邮件发送效果

  • 四、设置定时任务

    • 1 设置定时任务的具体步骤
    • 2 设置定时任务的教学视频

不管是在信贷领域还是支付领域,作为一个风控人员,我们都需要对部署的策略模型进行监控,信贷领域可能还需要对客户的逾期表现进行监控。这时,如果我们能用python自动连接数据库,对策略、模型、贷后表现等数据进行分析处理,输出标准表格或图片到固定文件夹中。再用python自动定时给领导和同事发送监控邮件,就可以让相关人员及时了策略模型的运行状态、项目的逾期动态,是一件很有意义的事。
本文着重讲解如何用python连接邮箱,自动发送邮件,至于python连接数据库进行数据处理模块,后续有时间了再跟大家分享。

一、自动定时任务运行详情

首先来看下,自动定时任务发送邮件的运行详情,视频链接

二、开启POP3/SMTP服务

在用python连接邮箱时,需要开启POP3/SMTP服务,本文以qq邮箱为例进行讲解,其它邮箱开启方法请自行百度。首先登录网页版qq邮箱—>点击设置—>点击帐户—>下拉找到POP3/IMAP/SMTP/ Exchange/CardDAV/CalDAV服务。


然后开启POP3/SMTP服务(根据指示步骤操作即可)。


开启POP3/SMTP服务主要是想获取代码中用到的token,是一串类似字符串的文本,大家在开启服务的过程中,记得保存。

三、发送邮件

使用python发送邮件时,主要用到smtplib和email库,这两个库是自带的,直接导入即可。 

1 导入库
  1. import osimport emailimport smtplibimport datetimefrom email.header import Headerfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipart#加载发送邮件需要用到的库os.chdir(r"E:\自动化邮件") #设置发送邮件时附件文件存放的地址
复制代码
其中smtplib模块主要负责发送邮件,email模块主要负责构建邮件。os.chdir中的文件路径记得替换成你存放邮件附件的路径。

2 设置邮件内容

平常我们发送邮件,主要需填写收件人、邮件主题、邮件正文、附件等信息。使用python发送邮件,同样也是填写这些信息,不过是在语句中注明。
  1. mail_sender = "2275885700@qq.com"            # 发送者邮箱名mail_license = '****************'            # 发送者邮箱授权码,即开启POP3/SMTP服务获取的token,需替换成你的邮箱mail_host = "smtp.qq.com"                    # SMTP服务器,这里为qq邮箱,若为163邮箱请用163替换qqmail_receivers = ["2275885700@qq.com","wawoxzy@163.com"]  #收件人邮箱mail = MIMEMultipart('related')              # 设置邮件主体mail["From"] = "sender_name<2275885700@qq.com>"           # 设置发送者邮箱mail["To"] = "receiver_1_name<2275885700@qq.com>,receiver_2_name<wawoxzy@163.com>" #设置接受者邮箱subject_content = '【日报】风险监测'                      # 设置邮件主题mail["Subject"] = Header(subject_content,'utf-8')         # 添加邮件主题body_content = """各位好,    这是风险监测日报,请查收!    BestRegards,谢XX"""                                         # 设置邮件正文message_text = MIMEText(body_content,"plain","utf-8")   # 设置正文内容、文本格式、编码方式mail.attach(message_text)                   # 向MIMEMultipart对象中添加文本对象
复制代码
注意:mail_license中的值需替换成你在开启POP3/SMTP服务时获取的token。以上语句中的内容,可根据需要自行调整,如有疑问可参考后面的备注信息。

3 添加附件

附件信息一般是图片和数据文档,故本文对这两种附件进行阐述,你只需把名字换成你的附件名即可。
  1. image_picture = open('yk2.jpg','rb')                   # 打开附件图片message_image = MIMEImage(image_picture.read())        # 设置读取获取的二进制数据#message_image.add_header('Content-ID','<image1>')message_image["Content-Disposition"] = 'attachment; filename="yk2.jpg"' # 设置附件图片名称mail.attach(message_image)                             # 把图片添加到邮件中去image_picture.close()                                  # 关闭刚才打开的图片mail.attach(message_image)                             # 把图片添加为邮件附件atta = MIMEText(open('BlackFriday.csv', 'rb').read(),'base64','utf-8') # 添加数据(csv、excel等)附件atta["Content-Disposition"] = 'attachment; filename="BlackFriday.csv"' # 设置数据(csv、excel等)附件名称mail.attach(atta)                                      # 把csv附件添加到邮件中去
复制代码
4 发送邮件

邮件正文和附件都设置好后,就可以发送邮件啦,具体语句如下:
  1. smtp = smtplib.SMTP()                     # 创建SMTP对象smtp.connect(mail_host, 25)               # 设置发件人邮箱的域名和端口,端口地址为25smtp.set_debuglevel(1)                    # 打印和SMTP服务器交互的所有信息smtp.login(mail_sender,mail_license)      # 根据邮箱地址和邮箱收起码登录邮箱smtp.sendmail(mail_sender, mail_receivers, mail.as_string()) # 发送邮件,并设置邮件内容格式为strnow_time = datetime.datetime.now().strftime('%Y-%m-%d')      # 获取当前时间print(now_time+" 日监控邮件发送成功")                        # 打印某日成功发送邮件记录smtp.quit()                                                  # 关闭SMTP对象
复制代码
至此,邮件已发送完毕,接着我们来看下邮件发送效果吧。&emsp;&emsp;

5 邮件发送效果

python发送的邮件和我们手动发送的邮件是一样的,具体可见如下图片。


接下来,我们看看如何设置定时任务,每天定时发送邮件吧。&emsp;

四、设置定时任务

在前面两节中介绍了如何用python自动发送邮件。本节介绍如何设置定时任务,在固定时间去抓取固定文件中的内容。

1 设置定时任务的具体步骤

首先,点击windows桌面左下角的搜索菜单,输入&ldquo;控制面板&rdquo;,就会在最佳匹配中出现控制面板,点击控制面板。


接着,在控制面板的搜索框输入&rdquo;任务&ldquo;两个字,就会出现管理工具和计划任务,点击计划任务。


接着,点击创建基本任务,填写名称和描述(可自定义),点击下一步默认为每天,如需改成每周,自行选择即可。


点击下一步,设置任务开始的时间,点击下一步,选择启动程序,再点击下一步。接着点击浏览,选择需要定时是python脚本,最后点击完成即可。



2 设置定时任务的教学视频

最后,来看下设置定时任务的教学视频,大家可以根据具体步骤参考视频进行设置。
至此,应用python每天自动发送邮件已讲解完毕,感兴趣的同学可以自己跟着本文,自行实现一遍。

来源:http://www.jb51.net/article/233615.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
打赏鼓励一下!
*罗田县社区ltxbbs.cn 罗田人自己的社区!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(36663)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(20853)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(19844)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(14887)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14190)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13339)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(11694)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(11344)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(10131)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(9969)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[无理取闹]2022-8-18 德媒述评:“屋顶”成中国光伏发展新蓝海

[开心每一天]2022-8-18 港媒:中国完善期货市场法律框架

[zhanwenfang]2022-8-18 港媒报道:中国多地出台政策鼓励生育

[jiantengxie]2022-8-18 现场视频!东部战区飞行员俯瞰澎湖列岛

[Mandy1008]2022-8-18 东部战区位台岛周边海空域组织多军兵种联合战备警巡和实战化演练

[ulteawx]2022-8-18 俄媒:俄吊销捷克和保加利亚企业军机维修许可证

[不要问我]2022-8-18 俄国防部:一架英国侦察机侵犯俄领空遭驱离

[曾磊]2022-8-18 俄媒:斯洛伐克向乌克兰提供多门自行榴弹炮

[不要问我]2022-8-18 外媒:新西兰将向英国派遣120名军事人员协助培训乌军人

[hylin]2022-8-18 法媒:以军空袭叙境内目标致多人死伤

QQ|Archiver|手机版|小黑屋|罗田县社区LTXBBS.CN ( 鄂ICP备18029072号-1 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@ltxbbs.cn
投诉电话(刮开查看):15374567400

GMT+8, 2022-8-18 20:58 , Processed in 0.124072 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表