在生成html测试报告后

import smtplib,time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart #使用qq邮箱向,163邮箱发送
class SendEmail():
def __init__(self, file_name):
self.file_name = file_name
self.send_user = "449258***@qq.com" #发送邮箱的帐号
self.password = "***" #发送邮箱的授权码而不是邮箱密码
self.email_host = "smtp.qq.com" #发送邮箱的服务器地址 qq邮箱是'smtp.qq.com', 136邮箱是'smtp.136.com' def send_mail(self,user_list,sub,content):
# 创建一个带附件的实例
message = MIMEMultipart()
message['From'] = self.send_user #发件人
message['To'] = ";".join(user_list) #收件人
message['Subject'] = sub #主题 # 邮件正文内容
message.attach(MIMEText(content, 'plain', 'utf-8')) # 构造附件(附件为HTML格式的网页)
now = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
att = MIMEText(open(self.file_name, 'rb').read(), 'html', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="%s_MyReport.html"'%now
message.attach(att) #发送
server = smtplib.SMTP_SSL(self.email_host,465)
# server.set_debuglevel(1)# 打印出和SMTP服务器交互的所有信息
server.login(self.send_user,self.password)
server.sendmail(self.send_user,user_list,message.as_string())
server.quit()#关闭连接 def send_main(self):
# user_list = ['xxx@qq.com','xxx@qq.com']
user_list = ['ishuzf@163.com'] #收件人集合
sub = "接口自动化测试报告" #主题
content = "接口自动化测试结果:见附件" #正文
self.send_mail(user_list,sub,content)

python使用qq邮箱向163邮箱发送邮件、附件的更多相关文章

  1. phpmailer使用qq邮箱、163邮箱成功发送邮件实例代码

    以前使用qq邮箱.163服务器发送邮件,帐号直接使用密码,现在不行了,得使用授权码,简单记录下 1.首先开通POP3/SMTP服务,qq邮箱——帐号——设置,找到POP3/SMTP点开启,输入短信会有 ...

  2. dedecms织梦自定义表单发送到邮箱-用163邮箱发送邮件

    https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=dedecms 邮箱&oq=d ...

  3. python SMTP 发送邮件 阿里企业邮箱、163邮箱 及535错误

    class SendEmail(object): def __init__(self, type, to_addr): self.to_addr = to_addr self.sys_date = t ...

  4. jeakins配置邮件通知,附带解决535报错:authentication failed,如果发现测试邮件可以发出,项目构成无法发出邮件,请开启SSL认证,端口号改为(465),qq邮箱、163邮箱通用

    535报错解决方案:调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授权码替代上面代码部分的passwd即可成功发送邮件 如果设置的邮箱 ...

  5. QQ邮箱打败163邮箱的过程(重视用户体验的结果)

    引用 楼主 CKAOS 的回复: 目前负责一个项目,ASP.NET的,做一个网盘系统,别的都弄好了,只差一个下载文件夹的功能未实现,只能在服务器端打包成压缩文件,再发回浏览器.如何直接下载文件夹,不是 ...

  6. 使用PHPMail发送邮箱(163邮箱为例)

    1.下载phpmail压缩包,并解压. 2.创建index.html文件.并写入代码. <form action="" method="post"> ...

  7. ios9邮箱添加163邮箱

    电脑登陆163邮箱➡️设置➡️开启pop3/smtp/imap功能➡️保存.开启后系统会给你个"客户端授权密码",同时会发短信到你手机里. 打开手机,设置➡️邮件,通讯录,日历➡️ ...

  8. python实战===使用随机的163账号发送邮件

    import linecache import smtplib import time import linecache import random #算出txt的行数,163账号_2.txt中,每一 ...

  9. python 自动打包,发送邮件(包括附件)至多个收件人(qq邮箱,163邮箱)

    -----------------------------打包部分---------------------------------- import zipfile def zipDir(dirpat ...

随机推荐

  1. QT5 QTreeView添加右键菜单

    C++ QT5学习--QTreeView控件创建右键菜单 QTreeView是QWidget的子类,我们再改写QTreeView类的时候,注意的是继承关系. 1.TreeView.h class Tr ...

  2. 最长上升子序列(LIS)动态规划

    最长上升子序列 给你n个整数 A1 A2 ········· An 找出在这个数组里面的最长上升的子序列.例如给你(1,7,3,5,9,4,8),他的上升子序列有(1,7) (3,4,8)等等之类的, ...

  3. “The creator of this fault did not specify a Reason” Exception

    “The creator of this fault did not specify a Reason” Exception if(!DidItPass) { InvalidRoutingCodeFa ...

  4. JSON字符串格式化为JSON对象

    根据项目需要,需要对json格式的字符串格式化为json对象,以下是解决方法: 参考文章:https://www.cnblogs.com/cailijuan/p/10150918.html

  5. 架构-SOA:SOA(面向服务的架构)

    ylbtech-架构-SOA:SOA(面向服务的架构) 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来.接口是采 ...

  6. python数据类

    前言 之前有写过一篇python元类的笔记,元类主要作用就是在要创建的类中使用参数metaclass=YourMetaclass调用自定义的元类,这样就可以为所有调用了这个元类的类添加相同的属性了. ...

  7. nginx配置多个虚拟主机(mac)

    1 . 安装  通过homebrew安装nginx,默认安装在:/usr/local/Cellar/nginx/版本号.配置文件在路径:/usr/local/etc/nginx ,默认配置文件ngin ...

  8. (appium+python)UI自动化_08_unittest编写测试用例

    前言 unittest是python自带的单元测试框架,类似于Junit(Java单元测试框架).支持自动化测试,可编写测试前置&后置条件,并且可批量运行测试用例并生成测试报告. 使用unit ...

  9. sts测试流程

    测试目的: 测试安全补丁打上了没 测试前提: 1.发货版本,user debug版本,相应安全补丁已合入,测试工具与安全补丁是对应的 2.selinux:Enable 3.连接ADB,stay awa ...

  10. MySQL- 查询总结

    查询总结 语法: select 查询字段 from 表 别名 连接类型inner|left|right join on 连接条件 where 筛选 group by 分组列表 having 筛选(二次 ...