测试报告邮件发送(五)

  当测试报告生成之后,可能需要对测试报告进行以邮件形式的发送。

  具体代码为:

 1 # coding=utf-8
 2 import smtplib                       #发送邮件模块
 3 from email.mime.text import MIMEText #定义邮件内容
 4 from email.header import Header      #定义邮件标题
 5 
 6 #发送邮件服务器
 7 smtpserver='smtp.qq.com'
 8 
 9 #发送邮箱用户名和密码
10 user='****@qq.com'
11 password='************'
12 mail_pass='**********'
13 
14 #发送和接收邮箱
15 sender='************@qq.com'
16 receive='************@qq.com'
17 
18 # 发送邮件主题和内容
19 subject='Web Selenuim 自动化测试报告'
20 
21 #HTML邮件正文
22 file_new='D:\\python\\venv\\result2018-05-25-17_25_55.html'
23 f = open(file_new,'rb')
24 mail_body = f.read()
25 f.close()
26 msg=MIMEText(mail_body,'html','utf-8')
27 msg['subject']=Header(subject,'utf-8')
28 msg['From']='************@qq.com'
29 msg['To']='************@qq.com'
30 
31 #SSL协议端口号要使用465
32 smtp=smtplib.SMTP_SSL(smtpserver,465)
33 
34 #向用户标识用户身份
35 smtp.helo(smtpserver)
36 #服务器返回结果确认
37 smtp.ehlo(smtpserver)
38 #登录邮箱服务器用户名和密码
39 smtp.login(user,mail_pass)
40 
41 
42 print("Start send Email....")
43 smtp.sendmail(sender,receive,msg.as_string())
44 smtp.quit()
45 print("Send Email end!")

  发送邮箱地址与接收邮箱地址使用************进行代替。

  一、在调试过程中出现报错,如下:

  QQ邮箱需使用授权码作为专用密码,登录第三方客户端,所以用原来的密码会导致错误。按照链接中的提示,进入QQ邮箱设置页面,开启SMTP服务,发短信获取授权码。所以需获取qq邮箱的授权码,登陆时使用授权码进行登陆。

  

  二、建立SSL安全连接:

  

  端口号要修改为465。

  使用标准的25端口连接SMTP服务器时,使用的是明文传输,发送邮件的整个过程可能会被窃听。要更安全地发送邮件,可以加密SMTP会话,实际上就是先创建SSL安全连接,然后再使用SMTP协议发送邮件。

  发送结果:

  

 

 


  

posted @ 2018-05-07 22:19  在旅途上追忆寻梦  阅读(1244)  评论(2编辑  收藏  举报