自动发送邮件案例
2021-06-09 本文已影响0人
数据真香
一、打开python编辑工具,导入相关模块

二、登录发送邮件的客户端
登录邮箱后,前往邮箱协议设置,开启SMTP服务,申请并查看客户端授权码,以及SMTP服务器地址;由于本人使用的是139邮箱,不同邮箱的SMTP位置可能有所不同。


三、定义发送邮件函数
步骤:
1)发送邮件的自定义函数,包含收件人、发送内容两个参数;
2)将内容通过传参到函数中,调用函数发送邮件。
实施:
1)定义一个发送邮件的函数

2)再分为定义变量和定义邮件
为了这个自定义函数更方便地复用,我们在自定义函数主体前面先定义一些变量:

定义邮件框架可以分为以下五个步骤:
1、生成一个邮件对象
2、连接到邮件服务器
3、登陆到邮件服务器
4、发送邮件
5、退出(之后可以在打印个success)

3)优化代码
可以对这个自定义函数加上try与except:

四、传入邮件内容参数
1)创建一个邮件内容对象

第一行是指只在直接执行代码程序时生效,可不加;
红框处放入邮件内容也就是日报、周报、月报,也可以直接加入文本内容用于监控预警,也可以直接连接sql数据库将表格以邮件形式抄送;
注意当同时attach文本、html等不同格式的内容时,只会让最后一个生效。
2)邮件

五、发送邮件测试

最后一步,验证是否会报错,出现success就说明发送成功。

如果报以上错,只要登录一个邮箱再验证就能发送成功了。