文章目录
1.任务目标
我们上节课学习了生成测试报告,那么我们这节课学习一下把测试报告发送163邮箱里面,和QQ邮箱都可以收到。
2.发送邮件
SMTP:即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
SMTP 认证:简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。
smtplib模块:Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。
Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
3.任务实操
import smtplib#发送邮件模块 from email.mime.text import MIMEText #定义邮件内容 from email.header import Header#定义邮件标题 # 这里所有的参数使用的是163邮箱,如果使用别的邮箱需要自己配置参数 #发送邮箱服务器 smtpserver='smtp.163.com' #发送邮箱用户名密码 user='XXXXX@163.com' #填入自己的邮箱账号 #密码为授权码 password='…'#填入自己的授权码,注意非邮件密码 #发送和接收邮箱 sender='XXXXXA@163.com'#填入发送邮箱的账号 receive='XXXXXB@126.com'#填入接收邮箱的账号 #发送邮件主题和内容 subject='Selenium 自动化测试报告' content='<html><h1 style="color:red">测试报告</h1></html>' #HTML邮件正文 msg=MIMEText(content,'html','utf-8') msg['Subject']=Header(subject,'utf-8') msg['From']='XXXXXA@163.com' #填入发送邮箱的账号 msg['To'] = 'XXXXXB@126.com' #填入接收邮箱的账号 #SSL协议端口号要使用465 smtp = smtplib.SMTP_SSL(smtpserver, 465) #HELO 向服务器标识用户身份 smtp.helo(smtpserver) #服务器返回结果确认 smtp.ehlo(smtpserver) #登录邮箱服务器用户名和密码 smtp.login(user,password) print("开始发送邮件...") smtp.sendmail(sender,receive,msg.as_string()) smtp.quit() print("邮件发送完成!")
4.执行结果
3.1运行结果
3.2发送接收到的结果
5.小结
我们这一小结学习了发送邮箱,我们学习之后可以吧生成的测试报告发送到指定的邮箱里面。便于传输和发送。