多测师讲解自动化 _邮件发送_高级讲师肖sir

第四步、点击开启然后点击重置授权码。

第五步、按照如下操作编辑短信发送、然后就可以
重置授权码了、授权码和密码不要设置为一样的注意点:授权码和密码不一致、用代码连接163邮件服务器就需要用授权码而不是密码。

第六步、然后把 init 构造函数里面的psw默认参数的值改为你自己设置的授权码
就可以用如下的代码发送邮件了。
1#coding=utf‐8
2import smtplib
3from email.mime.text import MIMEText
4from email.mime.text import MIMEText
5from email.mime.multipart import MIMEMultipart
6from email.header import Header
7import os
8
9class SendMail:
10def init (self, send_msg,
11 smtpserver="smtp.163.com", sender="18617162994@163.com",
12psw="xxxxxx", receiver="18617162994@163.com", #psw这个为授权码
13port=25, attachment=None):
14# self.reportfile = reportfile
15self.send_msg = send_msg
16self.smtpserver = smtpserver
17self.sender = sender
18self.psw = psw
19self.receiver = receiver
20self.port = port
21self.attachment = attachment
22
23def send_mail(self):
24"""发送最新的测试报告内容"""
25 #打开测试报告,读取测试报告内容
26 with open(self.send_msg, "rb") as f:
27 mail_boday = f.read()
28 #定义邮件
29 msg = MIMEMultipart()
30 msg['subject'] = Header(u"自动化测试报告", 'utf‐8')
31 msg['From'] = Header(self.sender, 'utf‐8')
32 msg['To'] = self.receiver
33
34 #添加附件
35 if self.attachment != None:
36 file_name = self.attachment.split(os.path.sep)[‐1]
37 att = MIMEText(open(self.attachment, "rb").read(),
38 "base64", "utf‐8")
39 att["Content‐Type"] = "application/octet‐stream"
40 att.add_header('Content‐Disposition', 'attachment',
41 filename = file_name)
42 msg.attach(att)
43
44 body = MIMEText(mail_boday, _subtype="html", _charset='utf‐8')
45 msg.attach(body)
46 smtp = smtplib.SMTP()
47 smtp.set_debuglevel(1)
48 smtp.connect(self.smtpserver, self.port)
49 smtp.starttls()
50 #用户登录并发送邮件
51 smtp.login(self.sender, self.psw)
52 smtp.sendmail(self.sender, self.receiver, msg.as_string())
53 smtp.quit()
python3源码
#coding=utf-8
import smtplib
from email.mime.text import MIMEText
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
import os class SendMail:
def __init__(self, send_msg,
smtpserver="smtp.163.com", sender="15949613302@163.com", #15949613302@163.com
psw="VOQGWBZYNBOAVZGE", receiver="15949613302@163.com", #psw这个为授权码
port=25, attachment=None):
# self.reportfile = reportfile
self.send_msg = send_msg
self.smtpserver = smtpserver
self.sender = sender
self.psw = psw
self.receiver = receiver
self.port = port
self.attachment = attachment def send_mail(self):
"""发送最新的测试报告内容"""
#打开测试报告,读取测试报告内容
with open(self.send_msg, "rb") as f:
mail_boday = f.read()
#定义邮件
msg = MIMEMultipart()
msg['subject'] = Header(u"自动化测试报告", 'utf-8')
msg['From'] = Header(self.sender, 'utf-8')
msg['To'] = self.receiver #添加附件
if self.attachment != None:
file_name = self.attachment.split(os.path.sep)[-1]
att = MIMEText(open(self.attachment, "rb").read(), "base64", "utf-8")
att["Content-Type"] = "application/octet-stream"
att.add_header('Content-Disposition', 'attachment', filename = file_name)
msg.attach(att) body = MIMEText(mail_boday, _subtype="html", _charset='utf-8')
msg.attach(body)
smtp = smtplib.SMTP()
smtp.set_debuglevel(1)
smtp.connect(self.smtpserver, self.port)
#用户登录并发送邮件
smtp.login(self.sender, self.psw)
smtp.sendmail(self.sender, self.receiver, msg.as_string())
smtp.quit()
python2源码
#coding=utf-8
import smtplib
from email.mime.text import MIMEText
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
import os
class SendMail:
def __init__(self, send_msg,
smtpserver="smtp.163.com", sender="15949613302163.com", #15949613302@163.com
psw="xlh.1314", receiver="15949613302@163.com", #psw这个为授权码
port=25, attachment=None):
# self.reportfile = reportfile
self.send_msg = send_msg
self.smtpserver = smtpserver
self.sender = sender
self.psw = psw
self.receiver = receiver
self.port = port
self.attachment = attachment
def send_mail(self):
"""发送最新的测试报告内容"""
#打开测试报告,读取测试报告内容
with open(self.send_msg, "rb") as f:
mail_boday = f.read()
#定义邮件
msg = MIMEMultipart()
msg['subject'] = Header("自动化测试报告", 'utf-8')
msg['From'] = Header(self.sender, 'utf-8')
msg['To'] = self.receiver
#添加附件
if self.attachment != None:
file_name = self.attachment.split(os.path.sep)[-1]
att = MIMEText(open(self.attachment, "rb").read(), "base64", "utf-8")
att["Content-Type"] = "application/octet-stream"
att.add_header('Content-Disposition', 'attachment', filename = file_name)
msg.attach(att)
body = MIMEText(mail_boday, _subtype="html", _charset='utf-8')
msg.attach(body)
smtp = smtplib.SMTP()
smtp.set_debuglevel(1)
smtp.connect(self.smtpserver, self.port)
smtp.starttls()
#用户登录并发送邮件
smtp.login(self.sender, self.psw)
smtp.sendmail(self.sender, self.receiver, msg.as_string())
smtp.quit()
多测师讲解自动化 _邮件发送_高级讲师肖sir的更多相关文章
- 多测师讲解自动化selenium___定位元素002___高级讲师肖sir
高级自动化测试python+selenium教程手册 --高级讲师肖sir(Harm) 第 2 章8种定位方法 总结: selenium 的 webdriver 提供了八种基本的元素定位方法,前面六种 ...
- 多测师讲解html _图片标签003_高级讲师肖sir
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>段 ...
- 多测师讲解html _段落标签002_高级讲师肖sir
<html> <head> <meta charset="UTF-8"> <title>段落标签</title> < ...
- 多测师讲解自动化_rf框架搭建_高级讲师肖sir
robot framework:自动化测试框架(简称RF框架) Python3.7 RIDE(可视化界面). Wxpython pip(在线下载) . setuptools(在线安装) . 第三方 ...
- 多测师讲解接口测试 _理论基础知识001_高级讲师肖sir
前言: 我们今天进入接口测试的学习! 今天学习的内容是偏向理论 接口理论 了解接口测试(1) 一.什么是接口测试? 接口统称api,即程序与程序之间的对接.交接.交互.是测试系统组件间接口的一种测试. ...
- 多测师讲解接口测试 _面试题003_高级讲师肖sir
接口测试 一.你对HTTP有没有了解过?具体讲一下对http的了解.(答题思路: 定义.常见请求类型.状态码.请求头请求体.响应头和响应体.三次握手和四次挥手.)答:了解,我们做接口的时候基本上都是基 ...
- 多测师讲解性能测试_面试题_001高级讲师肖sir
什么叫做性能测试?1. 软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,所以一般来说性能测试介入的时机是在功能测试完成之后.另外,由定义中的及时性可知性能也是一种指标,可以 ...
- 多测师讲解jmeter _基本介绍_(001)高级讲师肖sir
jmeter讲课课程 一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. ...
- 多测师讲解jmeter _图片详解_(全)高级讲师肖sir
- 多测师讲解jmeter _接口请求_(003)高级讲师肖sir
1.简单接口的请求 2. 3. 正则查看: 正则提取:在后置处理器中正则请求 设置:正则表达式 JSESSIONID提取器: Debug sampler 总结:
随机推荐
- [oracle/Sql]怎样比较两表的差异?
比如有这么一个表: create table test02( id number(8,0) primary key, name nvarchar2(20), sal number(5,0) ) 可以这 ...
- CVE-2020-0796(永恒之黑)漏洞复现
声明:仅供学习与参考,请勿用于非法用途(后果自负) 一.影响范围(需关闭 Win10 防火墙): Windows 10 Version 1903 for 32-bit Systems Windows ...
- Solr专题(一)手把手教你搭建Solr服务
一.Solr是什么,能解决什么问题? Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对 ...
- C#开发PACS医学影像处理系统(六):加载Dicom影像
对于一款软件的扩展性和维护性来说,上层业务逻辑和UI表现一定要自己开发才有控制权,否则项目上线之后容易被掣肘, 而底层图像处理,我们不需要重复造轮子,这里推荐使用fo-dicom,同样基于Dicom3 ...
- Java学习预热
预备知识 什么是计算机 点击进入百度百科(计算机) 计算机硬件组成 主要部件 CPU 内存 主板 IO设备 键盘 鼠标 麦克风 显示器 音箱 冯·诺依曼体系结构 计算机软件 系统软件 DOS wind ...
- springboot、Thymeleaf、国际化的简单使用
1.项目体系结构 (1)知识体系 springboot:省去了很多繁琐的配置,如:视图解析器.前端控制器等 thymeleaf:获取controller数据逼能够进行展示 集合:用于存储数据,此练习没 ...
- hystrix源码小贴士之调用异常处理
executeCommandAndObserve方法处理onerror异常. return execution.doOnNext(markEmits) .doOnCompleted(markOnCom ...
- hystrix源码之请求合并
请求合并 使用HystrixObservableCollapser可以将参数不同,但执行过程相同的调用合并执行.当调用observe.toObservable方法时,会向RequestCollapse ...
- kafka学习(三)kafka生产者,消费者详解
文章更新时间:2020/06/14 一.生产者 当我们发送消息之前,先问几个问题:每条消息都是很关键且不能容忍丢失么?偶尔重复消息可以么?我们关注的是消息延迟还是写入消息的吞吐量? 举个例子,有一个信 ...
- 刷题[SUCTF 2018]GetShell
解题思路 进入upload,发现有源码,代码审计 代码审计 大概意思就是,读取我们上传的文件,截取第五位之后的内容,与黑名单不匹配才能上传成功 我传的是一个空的txt文件,发现会变成php文件,那好办 ...

