在生成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. JS实现多Div模块拖拽功能

    空闲时间,同事让帮忙整个JS拖拽div模块功能.于是便在网上搜索,总结如下一个可实现多div模块拖拽的功能.一下是整体的HTML代码, 里边可以控制到 拖拽开始(onStart),拖拽时候(onMov ...

  2. http预请求 options

    问题 使用axios请求接口时,出现了发出两次请求的情况:一个是请求OPTIONS,一个是正常的POST请求:查资料发现与跨域请求有关. 概念 MDN中有提到: 出于安全原因,浏览器限制从脚本内发起的 ...

  3. windows下源码安装调试postgresql

    环境:windows 10 postgresql版本:postgresql-9.6.5 使用工具:vs2017社区版 辅助工具:perl.diff.flex.bison 相关工具下载地址: perl下 ...

  4. R语言rvest包网络爬虫

    R语言网络爬虫初学者指南(使用rvest包) 钱亦欣 发表于 今年 06-04 14:50   5228 阅读   作者 SAURAV KAUSHIK 译者 钱亦欣 引言 网上的数据和信息无穷无尽,如 ...

  5. flutter 按键监听

    import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; void main() => ru ...

  6. Node.js - 使用 Express 和 http-proxy 进行反向代理

    安装 Express 和 http-proxy npm install --save express http-proxy 反向代理代码 proxy.js var express = require( ...

  7. 初识内存分配ByteBuf

    初识ByteBuf: ByteBuf 是Netty 整个结构里面最为底层的模块,主要负责把数据从底层IO 里面读到ByteBuf,然后传递给应用程序,应用程序处理完成之后再把数据封装成ByteBuf ...

  8. CSS实现背景图片屏幕自适应

    在做登陆页面等的首页的时候,经常会遇到需要放一张背景大图的情况,并且需要图片按比例缩放,来适应不同屏幕的大小. html代码如下: <!DOCTYPE html> <html lan ...

  9. css禁止事件

    js有多种禁止事件的方法, css也有: pointer-events:none

  10. Meet in the middle算法总结 (附模板及SPOJ ABCDEF、BZOJ4800、POJ 1186、BZOJ 2679 题解)

    目录 Meet in the Middle 总结 1.算法模型 1.1 Meet in the Middle算法的适用范围 1.2Meet in the Middle的基本思想 1.3Meet in ...