自动化测试常用脚本-发送邮件

Posted chenri

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试常用脚本-发送邮件相关的知识,希望对你有一定的参考价值。

#用于发送测试报告或其它内容

#
-*- coding:utf-8 -*- import os import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart class SendEmail(object): def __init__(self, receivers): mail_host = "127.0.0.1" # SMTP服务器 mail_user = "username" # 用户名 mail_pass = "password" # 密码 sender = "123456@qq.com" # 发件人邮箱 file_path = os.path.dirname(os.path.dirname(__file__)) + \\report\\test_result.html title = 自动化测试结果 # 邮件主题 mail_body = "查看测试报告请下载附件!!!" message = MIMEMultipart() message[From] = "".format(sender) message[To] = ",".join(receivers) message[Subject] = title msgtext = MIMEText(mail_body, _subtype=plain, _charset=utf-8) message.attach(msgtext) # 添加主邮件主体内容 # 添加一个HTML文本附件 ff = open(file_path, rb) att = MIMEText(ff.read(), base64, utf-8) # 附件设置内容类型,设置为二进制流 att["Content-Type"] = application/octet-stream # 设置附件头,添加文件名 att["Content-Disposition"] = attachment; filename="test_result.html" # 解决中文附件名乱码问题 # att.add_header(‘Content-Disposition‘, ‘attachment‘, filename=(‘utf-8‘, ‘‘, basename)) message.attach(att) ff.close() try: smtpObj = smtplib.SMTP(mail_host, 25) smtpObj.login(mail_user, mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) # 发送 print("邮件已成功发送") smtpObj.quit() except smtplib.SMTPException as e: print(e) if __name__ == "__main__": SendEmail(["123456@qq.com", "123467@qq.com"])

 

以上是关于自动化测试常用脚本-发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

python 生成测试报告并发送邮件

WindowsGUI自动化测试框架搭建-邮件服务模块封装(sendmail)

关键字驱动模式 实现登录qq邮箱并发送邮件的自动化测试

16 Web 自动化测试 -- Jenkins执行脚本

Selenium 2自动化测试实战37(自动发邮件功能)

python-自动化测试结果发送邮件报错(smtplib.SMTPDataError: (554, b'DT:SPM 163……)解决方法