• 售前

  • 售后

热门帖子
入门百科

Python实现定时发送监控邮件

[复制链接]
Mirandawsj 显示全部楼层 发表于 2022-1-8 02:08:38 |阅读模式 打印 上一主题 下一主题
目录


  • 一、主动定时使命运行详情
  • 二、开启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 os
  2. import email
  3. import smtplib
  4. import datetime
  5. from email.header import Header
  6. from email.mime.text import MIMEText
  7. from email.mime.image import MIMEImage
  8. from email.mime.multipart import MIMEMultipart
  9. #加载发送邮件需要用到的库
  10. os.chdir(r"E:\自动化邮件") #设置发送邮件时附件文件存放的地址
复制代码
其中smtplib模块重要负责发送邮件,email模块重要负责构建邮件。
  1. os.chdir
复制代码
中的文件路径记得更换成你存放邮件附件的路径。

2 设置邮件内容

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

3 添加附件

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

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

5 邮件发送结果

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

接下来,我们看看如何设置定时使命,每天定时发送邮件吧。 

四、设置定时使命

在前面两节中先容了如何用python主动发送邮件。本节先容如何设置定时使命,在固定时间去抓取固定文件中的内容。

1 设置定时使命的具体步调

起首,点击windows桌面左下角的搜刮菜单,输入“控制面板”,就会在最佳匹配中出现控制面板,点击控制面板。

接着,在控制面板的搜刮框输入”使命“两个字,就会出现管理工具和计划使命,点击计划使命。

接着,点击创建根本使命,填写名称和描述(可自界说),点击下一步默以为每天,如需改成每周,自行选择即可。

点击下一步,设置使命开始的时间,点击下一步,选择启动步伐,再点击下一步。接着点击浏览,选择须要定时是python脚本,末了点击完成即可。


2 设置定时使命的讲授视频

末了,来看下设置定时使命的讲授视频,各人可以根据具体步调参考视频举行设置。
至此,应用python每天主动发送邮件已讲授完毕,感兴趣的同砚可以自己跟着本文,自行实现一遍。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作