介绍
小编给大家分享一下怎么使用python将最新的测试报告以附件的形式发到指定邮箱,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
python主要应用领域有哪些
1,云计算,典型应用OpenStack.2,网前端开发,众多大型网站均为python开发。3。人工智能应用,基于大数据分析和深度学习而发展出来的人工智能本质上已经无法离开python.4,系统运维工程项目,自动化运维的标配就是python + Django/flask.5,金融理财分析,量化交易,金融分析。6,大数据分析。
具体代码如下所示:
import smtplib,,电子邮件,,操作系统,时间 得到email.mime.multipart import  MIMEMultipart 得到email.mime.text import  MIMEText 得到email.header import 头 #设置smtplib所需的参数 时间=smtpserver & # 39; smtp.qq.com& # 39;, # SMTP服务器地址 时间=username & # 39; xxx@qq.com& # 39;, #,发件人地址,通过控制台创建的发件人地址 时间=password & # 39; * * * * * * & # 39;, #,发件人密码,通过控制台创建的发件人密码 时间=receiver [& # 39; xxx@dadaodata.com& # 39;], #单个收件的人=#,receivers [& # 39; xxx@dadaodata.com& # 39;,, & # 39; xxx@qq.com& # 39;], #,收件人地址或是地址列表,支持多个收件的人,最多30个 #,构造邮件MIMEMultipart对象 时间=msg MIMEMultipart(& # 39;混合# 39;) 味精(& # 39;主题# 39;],=,头(& # 39;自动化测试报告& # 39;,+,time.strftime (“Y % - % - % d"),, & # 39; utf - 8 # 39;) .encode() #自定义邮件主题 味精(& # 39;从# 39;],=,& # 39;% s & lt; % s> & # 39;, %,(用户名,用户名)#邮件发送者 味精(& # 39;伍仟# 39;],=,,,,. join(接收器)#邮件接受者 味精(& # 39;问题# 39;],=,email.utils.make_msgid () 味精(& # 39;日期# 39;],=,email.utils.formatdate () #,构造文字内容 时间=text_plain MIMEText(& # 39;附件为接口自动化测试报告,请查收! & # 39;,,& # 39;平原# 39;,,& # 39;utf - 8 # 39;) #邮件内容 msg.attach (text_plain) #构造附件 时间=test_report " # 39; F: \ PythonAutomation \ Python_PyCharm \ TestReport& # 39;, #存放文件的目录 时间=lists os.listdir (test_report), #列出目录的下所有文件保存到列表 lists.sort(关键=lambda fn: os.path.getmtime(时间+ test_report “\ \”, +, fn)), #按时间排序 时间=file_new os.path.join (test_report列表[1]),#获取最新的文件保存到file_new=sendfile 开放(file_new & # 39; rb # 39;) .read () 时间=text_att MIMEText (sendfile, & # 39; base64 # 39;,, & # 39; utf - 8 # 39;) text_att [“Content-Type"],=, & # 39;应用程序/八进制# 39; text_att [“Content-Disposition"],=, & # 39;附件;,文件名=皉eport.html" & # 39; #重新命名附件 msg.attach (text_att) #,发送邮件 试一试: #,才能client =, smtplib.SMTP () #,才能client.connect (smtpserver, 25), # SMTP普通端口为25 时间=client 才能;smtplib.SMTP_SSL (), # python 2.7以上版本,若需要可使用SSL client.connect才能(smtpserver, 465), # SSL端口465 #,才能client.set_debuglevel(1), #用set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息 client.login才能(用户名,密码) client.sendmail才能(用户名,接收器,msg.as_string ()) client.quit才能() 打印才能(& # 39;邮件发送成功& # 39;) except smtplib.SMTPConnectError  as e: 打印才能(& # 39;邮件发送失败,连接失败:& # 39;,,e.smtp_code,, e.smtp_error) except smtplib.SMTPAuthenticationError  as e: 打印才能(& # 39;邮件发送失败,认证错误:& # 39;,,e.smtp_code,, e.smtp_error) except smtplib.SMTPSenderRefused  as e: 打印才能(& # 39;邮件发送失败,发件人被拒绝:& # 39;,,e.smtp_code,, e.smtp_error) except smtplib.SMTPRecipientsRefused  as e: 打印才能(& # 39;邮件发送失败,收件人被拒绝:& # 39;,,e.args,, e.recipients) except smtplib.SMTPDataError  as e: 打印才能(& # 39;邮件发送失败,数据接收拒绝:& # 39;,,e.smtp_code,, e.smtp_error) except smtplib.SMTPException  as e: 打印才能(& # 39;邮件发送失败:,& # 39;,,str (e)) except Exception  as e: 打印才能(& # 39;邮件发送失败:,& # 39;,,str (e)
执行结果如下: