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])
Python添加邮件附件并通过邮件发送测试报告
Stella981
2021-10-11
1083 0 0
点赞
收藏
评论区
加载中...