Python学习之==>发送邮件

  自动化测试执行完成后,需要自动发送测试报告。Python发送邮件可以使用smtplib标准模块,但该模块比较繁琐,推荐使用yagmail这个第三方模块,用法比较简单。

一、邮箱设置

1、在邮箱设置里打开smtp服务

2、开启邮箱授权码

   并不是所有邮箱都有邮箱授权码。163邮箱授权码可以自己输入,qq邮箱授权码是随机码,新浪邮箱则没有邮箱授权码,直接通过登录密码发送邮件。

二、利用yagmail实现邮件发送

需要注意的是:

  1、yagmail实际是封装了smtplib模块,来实现的邮件发送功能

  2、直接下载的yagmail模块,发送中文附件时标题乱码(解决这个问题,需要修改模块源码)

实际用法如下:

 1 import yagmail
 2 username = '123456@qq.com'    # 邮箱账号
 3 passwd = 'abcdefghijklmnopq'  # 授权码,有时效(一般是一年)
 4 mail = yagmail.SMTP(user=username,
 5                     password=passwd,
 6                     host='smtp.qq.com',
 7                     smtp_ssl=True
 8                     ) # 果用的是QQ邮箱或者是使用安全协议的邮箱需要加上smtp_ssl=True
 9 mail.send(
10     to=['[email protected]','[email protected]'],  # 收件人,多个收件人,写成list
11     cc=['[email protected]','999@qq.com'],    # 抄送人,多个收件人,写成list
12     subject='发送邮件测试',    # 邮件标题
13     contents='正常上课',      # 邮件正文
14     attachments=[r'C:\Users\Desktop\test.txt',
15                  r'C:\Users\Desktop\test.docx']# 发多个附件,放到一个list里面
17 )
18 print('发送成功')
扫描二维码关注公众号,回复: 1773438 查看本文章

猜你喜欢

转载自www.cnblogs.com/L-Test/p/9078668.html