自动化测试用例上百条的时间运行时间较长,这时可以悠闲的干点别的事情,然后你也不知道什么时候会结束,但既然时自动化那必须会发邮件通知,所有我们来学习一下利用python发送邮件,后续在添加测试报告在里面。
废话不多说,上代码
1@H_403_8@ import@H_403_8@ smtplib
@H_403_8@ 2@H_403_8@ from@H_403_8@ email.mime.text MIMEText
@H_403_8@ 3@H_403_8@ from@H_403_8@ email.header Header
@H_403_8@ 4@H_403_8@
5@H_403_8@ #@H_403_8@发生邮箱服务器@H_403_8@
6@H_403_8@ smtpserver = '@H_403_8@smtp.qq.com@H_403_8@'@H_403_8@
7@H_403_8@ 发送用户和密码@H_403_8@
8@H_403_8@ user = name@qq.com@H_403_8@ 9@H_403_8@ password = **********@H_403_8@10@H_403_8@ 发送邮箱@H_403_8@
11@H_403_8@ sender = 12@H_403_8@ 接收邮箱@H_403_8@
13@H_403_8@ receiver = ******@qq.com@H_403_8@14@H_403_8@ 发送邮箱主题@H_403_8@
15@H_403_8@ subject = python test@H_403_8@'@H_403_8@
16@H_403_8@ 编写HTML类型的邮件正文@H_403_8@
17@H_403_8@ msg = MIMEText(<html><h1>你好!我是python测试邮件!</h1><html>@H_403_8@'@H_403_8@,html@H_403_8@utf-8@H_403_8@'@H_403_8@)
@H_403_8@18@H_403_8@ msg[Subject@H_403_8@'@H_403_8@] = Header(subject,1)">19@H_403_8@ 连接发送邮件@H_403_8@
20@H_403_8@ smtp = smtplib.SMTP()
@H_403_8@21@H_403_8@ smtp.connect(smtpserver)
@H_403_8@22@H_403_8@ smtp.login(user,password)
@H_403_8@23@H_403_8@ smtp.sendmail(sender,receiver,msg.as_string())
@H_403_8@24@H_403_8@ smtp.quit()@H_403_8@
注意:password不要填你的密码,要填你邮箱生成的授权码。如下图点击生成授权码同时必须要开启SMTP服务哦,另外还有一个地方需要注意发送的邮箱服务器如果是qq就按我上面的填,新浪的话改成@H_403_8@@H_403_8@
'smtp.sina.com'其他的邮箱就改中间的标签好了。@H_403_8@@H_403_8@
不然会出现如下错误
经过上面的步骤终于成功发出了邮件,上图。
以上只是发送文字,那么要发送附件呢?经过又一番修改,终于也成功了。代码如下
from@H_403_8@ email.mime.multipart MIMEMultipart
@H_403_8@************@H_403_8@'her_@H_403_8@发送附件@H_403_8@
17@H_403_8@ sendfile = open(F:\\cs.txt@H_403_8@rb@H_403_8@).read()
@H_403_8@18@H_403_8@
19@H_403_8@ att = MIMEText(sendfile,1)">base64@H_403_8@20@H_403_8@ att["@H_403_8@Content-Type@H_403_8@"@H_403_8@] = application/octet-stream@H_403_8@21@H_403_8@ att[Content-Disposition@H_403_8@attachment; filename="cs.txt"@H_403_8@22@H_403_8@
23@H_403_8@ msgRoot = MIMEMultipart(related@H_403_8@24@H_403_8@ msgRoot['@H_403_8@] = subject
@H_403_8@25@H_403_8@ msgRoot.attach(att)
@H_403_8@26@H_403_8@
27@H_403_8@ 28@H_403_8@ msg = MIMEText('<html><h1>你好!我是python测试邮件!</h1><html>','html','utf-8')@H_403_8@
29@H_403_8@ msg['Subject'] = Header(subject,1)">30@H_403_8@ #连接发送邮件@H_403_8@
31@H_403_8@ smtp =32@H_403_8@ 33@H_403_8@ 34@H_403_8@ 403_8@35@H_403_8@ smtp.quit()@H_403_8@