准备写一个漏洞预警信息脚本,每天定时发送漏洞邮件给自己。python发送邮件有原生的smtplib和email库,但添加附件的时候,需要自己设置MIME, 代码最少也会有十多行, 不太方便,本章主要介绍python中如何使用更方便的yagmail库来发送邮件。
基本概念
我们先了解几个基本的概念
- POP3: Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。
- SMTP: Simple Mail Transfer Protocol,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器
- IMAP: Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3类似邮件访问标准协议之一。
发送前的准备
1. 安装yagmail
pip install yagmail
2. 开启POP3/SMTP/IMAP 服务,获取授权码,这里以qq邮箱为例
写代码之前,要对发邮件的邮箱进行设置,开启SMTP服务,获取到授权码。yagmail模块发送邮件时使用的密码就是授权码,而不是我们平时使用的邮箱登录密码。
以qq邮箱为例:在设置–账户—SMTP服务开启—生成授权码,发送邮件的时候使用这个授权码就可以了
下面框柱的两个服务都需要开启,然后点击生成授权码
其他邮箱获取授权码方式也类似
用yagmail模块自动发送邮件
1. 常见电子邮件提供商及其SMTP服务器
2. 编辑代码
import yagmail
#设置服务器:这里是qq邮箱服务器
mail_host = "smtp.qq.com"
#授权码
mail_pass = "ktrwtxxxxxgybbai"
#自己用来发送邮件的邮箱,需与授权码对应上
sender = "577xxxx52@qq.com"
#邮件接收者,可以多个
revivers = ['577xxxx52@qq.com']
#登录SMTP服务器
yag = yagmail.SMTP(user=sender, password=mail_pass, host=mail_host)
#编辑邮件内容
contents = [
"hello,早上好,今日漏洞预警信息如下:",
"这是测试信息",
"<a href='https://www.baidu.com'>点击上百度</a>", #发送一个超链接
yagmail.inline('5.jpg'), #发送一个附件
yagmail.inline('1.json'), #附件需要在当前脚本的文件夹中
]
#发送邮件,subject为邮件主题
try:
yag.send(to=revivers, subject="今日漏洞预警信息", contents=contents)
print("发送成功")
except Exception as e:
print("发送失败:",e)
今天的文章使用python发送邮件分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9112.html