python自动化测试怎么发送邮件,Python自动化测试发送邮件太麻烦?!一起聊一聊 Python 发送邮件的3种方式...

1. 前言

发送邮件,我们在平时工作中经用到,做为测试人员,在自动化测试中用的也比较多,需要发送邮件给某领导

SMTP是Python默认的邮件模块,可以发送纯文本、富文本、HTML 等格式的邮件

cbaac9d8126e8e828d63036dca068e26.png

今天我们来说一说Python 发送邮件的 3 种方式

2. 开启邮箱SMTP服务和获取授权码

登录 QQ 邮箱为例,我们需要开启 SMTP 服务,登录邮箱依次点击设置-账户

49ffa444551455030814691885e1acd4.png

开启SMTP

2adfebbcaf4a1eaf58c9ded822ff2f79.png

然后,生成授权码

76acef19ca61fd46f57bfb0f250e8f21.png

注:

需要开启POP3/SMTP服务

授权码做为邮箱密码

1. 方式一:smtplib

smtplib是 Python 自带的依赖库,可以直接导入使用,通过邮箱账号、授权码、邮箱服务器地址初始化一个 SMTP 实例,然后进行连接

初学者感觉这个会挺复杂,请继续往下看

1.1发送纯文本邮件

运行结果:

51845599645b7692b78abc3723a908e5.png

注:当前发送邮件个人不推荐使用,所以只演式一种发送纯文本邮件

2. 方式二:zmail

由于SMPT太过于麻烦复杂,所以就用zamil发送邮件试试。

zmail模块只支持Python3模块,该模块为第3方模块,需自行安装(pip install zmail)

使用 Zmail 发送接收邮件方便快捷,不需手动添加服务器地址、端口以及适合的协议,可以轻松创建 MIME 对象和头文件

注意:Zmail 仅支持 Python3,不支持 Python2

#!/usr/bin/python3

import zmail

def send_mail():

# 定义邮件

mail = {"subject": "接口测试报告",# 任一填写

'content_text': '手机号归属地_API自动化测试报告',# 任一填写

# 多个附件使用列表

"attachments": "E:/report/result.html"

}

# 自定义服务器

server = zmail.server("发送人邮箱.com",

"QQ邮箱是用授权码",

smtp_host="smtp.qq.com",

smtp_port = 465)

# 发送邮件

server.send_mail("收件人QQ邮箱", mail)

try:

send_mail()

except FileNotFoundError:

print("未找到文件")

else:

print("发送成功")

3. 方式三:yagmail

他们都说yagmail 只需要三行代码,就可以实现发送邮件,爽歪歪!

相比 zmail,yagmail 实现发送邮件的方式更加简洁优雅

首先,安装依赖库(pip install yagmail)

发送邮件有三个步骤:

1、连接服器(类似你先要登录邮箱)

2、编辑邮件内容和主题

3、发送邮件

#!/usr/bin/python3

import yagmail

# 定义用户名、授权码、服务器地址且连接服务器

mail_server = yagmail.SMTP(user='发件人邮箱', passwd='授权码', host='smtp.qq.com')

# 发送对象列表

Email_to = ['收件人邮箱']

subject = '任一填写'

Email_text = "任一填写内容"

# 多个附件用逗号隔开

attachments = ['html报告目录地址']

# 发送邮件

mail_server.send(Email_to, subject, Email_text, attachments)

6. 最后

总结了 Python3种发送 邮件的方式,实际项目中,更推荐使用后两种方式

如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进到902061117,群内会有不定期的分享测试资料。

如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值