Python添加邮件附件并通过邮件发送测试报告

1import smtplib 2from email.mime.multipart import MIMEMultipart 3from email.mime.text import MIMEText 4 5 6class SendEmail: 7 """邮件方式发送报告""" 8 global send_user 9 global email_host 10 global password 11 send_user = "AAAAA@163.com" 12 email_host = "smtp.163.com" 13 password = 'CCCC' 14 15 def send_mail(self, user_list, sub, content): 16 """ 17 发送邮件 18 :param user_list: 收件人列表 19 :param sub: 主题 20 :param content: 内容 21 :return: 22 """ 23 user = "zhangweixu1379@163.com" + "<" + send_user + ">" 24 message = MIMEMultipart() 25 message['Subject'] = sub 26 message['From'] = user 27 message['To'] = ",".join(user_list) 28 body = MIMEText(content, _subtype="plain", _charset="utf-8") # 邮件内容 29 message.attach(body) 30 # 添加附件 31 att = MIMEText(open("../dataconfig/case1.xls", "rb").read(), "base64", 32 "utf-8") # 打开附件地址 33 att["Content-Type"] = "application/octet-stream" 34 att["Content-Disposition"] = 'attachment; filename="case1.xls"' 35 message.attach(att) 36 server = smtplib.SMTP() 37 server.connect(email_host) 38 server.login(send_user, password) 39 server.sendmail(user, user_list, message.as_string()) 40 server.close() 41 42 def send_main(self, pass_list, fail_list): 43 """ 44 发送报告 45 :param pass_list: 46 :param fail_list: 47 :return: 48 """ 49 pass_num = float(len(pass_list)) 50 fail_num = float(len(fail_list)) 51 count_num = pass_num + fail_num 52 pass_result = "%.2f%%" % (pass_num / count_num * 100) 53 fail_result = "%.2f%%" % (fail_num / count_num * 100) 54 user_list = ['XXXX@dingtalk.com', 'XXX@dingtalk.com'] 55 56 sub = '接口自动化测试报告' 57 content = f"此次接口测试一共运行用例为:{count_num},通过个数为:{pass_num},失败个数为:{fail_num},通过率为:{pass_result},报告详情请查看附件!" 58 self.send_mail(user_list, sub, content) 59 60 61if __name__ == '__main__': 62 send = SendEmail() 63 send.send_main([1, 2, 3, 4], [6, 2])
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )