Python学习之==>发送邮件
自动化测试执行完成后,需要自动发送测试报告。Python发送邮件可以使用smtplib标准模块,但该模块比较繁琐,推荐使用yagmail这个第三方模块,用法比较简单。
一、邮箱设置
1、在邮箱设置里打开smtp服务
2、开启邮箱授权码
并不是所有邮箱都有邮箱授权码。163邮箱授权码可以自己输入,qq邮箱授权码是随机码,新浪邮箱则没有邮箱授权码,直接通过登录密码发送邮件。
二、利用yagmail实现邮件发送
需要注意的是:
1、yagmail实际是封装了smtplib模块,来实现的邮件发送功能
2、直接下载的yagmail模块,发送中文附件时标题乱码(解决这个问题,需要修改模块源码)
实际用法如下:
import yagmail
username = '123456@qq.com' # 邮箱账号
passwd = 'abcdefghijklmnopq' # 授权码,有时效(一般是一年)
mail = yagmail.SMTP(user=username,
password=passwd,
host='smtp.qq.com',
smtp_ssl=True
) # 果用的是QQ邮箱或者是使用安全协议的邮箱需要加上smtp_ssl=True
mail.send(
to=['123@163.com','456@163.com'], # 收件人,多个收件人,写成list
cc=['789@qq.com','999@qq.com'], # 抄送人,多个收件人,写成list
subject='发送邮件测试', # 邮件标题
contents='正常上课', # 邮件正文
attachments=[r'C:\Users\Desktop\test.txt',
r'C:\Users\Desktop\test.docx']# 发多个附件,放到一个list里面
)
print('发送成功')
Python学习之==>发送邮件的更多相关文章
- python学习笔记(十九)发送邮件
在python开发项目或者做自动化测试时候,在测试完成后需要将测试结果总结后进行上报,那么我们就可以通过发送邮件来完成这项工作. 下面我们来看看python中怎么发送邮件的,python中发送邮件可以 ...
- Python学习笔记(四十七)SMTP发送邮件
摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432005226 ...
- python学习: 如何循序渐进学习Python语言
大家都知道Python语言是一种新兴的编程语言.1989年,Python就由Guido van Rossum发明.Python一直发展态势很好. 原因有几点:1.跨平台性好.Linux.Windows ...
- python使用smtplib发送邮件
python要实现发送邮件的功能,需要使用smtplib库. 1. 过程大致如下: 1. 建立和SMTP邮件服务器的连接 # 默认端口25 smtp = smtplib.SMTP(host, port ...
- python学习笔记(SMTP邮件发送)
想着给框架添加邮件发送功能.所以整理下python下邮件发送功能 首先python是支持邮件的发送.内置smtp库.支持发送纯文本.HTML及添加附件的邮件 之后是邮箱.像163.qq.新浪等邮箱默认 ...
- Python学习的十个阶段,学完神功大成,对应一下看看你自己在哪个阶段
大家好,我是白云. 今天给大家整理了Python学习的十个阶段内容,看看你现在正处于哪个阶段,想学习的朋友也可以根据这个阶段规划学习. 阶段一:Python基础[ 初入江湖] Linux基础 目标: ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
随机推荐
- 恢复HDFS文件删除后的方法
HDFS 为我们提供了垃圾箱的功能,也就是当我们执行 hadoop fs -rmr xxx 命令之后,文件并不是马上被删除,而是会被移动到执行这个操作用户的 .Trash 目录下,等到一定的时间后才会 ...
- Linux本机和远程服务器之间文件的上传和下载 rz sz
tar zxvf lrzsz-0.12.20.tar.gz 解压安装包 下载地址:链接:https://pan.baidu.com/s/1KMS1QlyOhpXiYeaWdNBAyw 提取码:08 ...
- MyEclipse使用教程:unattended安装
[MyEclipse CI 2019.4.0安装包下载] 以下内容适用于2013及以上版本. 运行无提示安装程序 1. 创建一个unattended response文件. 2. 要激活unatten ...
- vscode sftp插件的使用
1.在扩展中搜索 sftp 并下载安装: 2.F1调出命令窗口输入 sftp 点击 SFTP:Config : 3.编辑 sftp.json 文件并保存会在当前工程下形成 sftp.json 文件 4 ...
- vue项目中引入vant 使用rem布局问题
postcss.config.js const autoprefixer = require('autoprefixer') const pxtorem = require('postcss-pxto ...
- ESP8266 SPI通信
设备与设备之间的通信往往都伴随着总线的使用,而用得比较多的就当属于SPI总线和I2C总线,而恰巧NodeMcu也支持这两种总线通信 1. SPI总线——SPI类库的使用 SPI是串行外设接口(Seri ...
- Python条件控制与循环
条件控制语句:if 循环语句:while.for 其他语句:continue.break.pass 1.if语句 # ================================ a = 1 if ...
- 【leetcode】LCP 1. Guess Numbers
题目如下: 小A 和 小B 在玩猜数字.小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜.他们一共进行三次这个游戏,请返回 小A 猜对了几次? 输入的gues ...
- linux操作目录命令之mkdir与rmdir
一.mkdir 创建目录(一个或多个目录) mkdir -m 777 -p path 1)-m 对新建目录设置权限 2)-p 可以是一个路径名称.此时若路径的某一级目录尚不存在,使有该选项后系统 ...
- python深度学习:矩阵转置(transpose)
转置:即行列转换. import numpy as np import matplotlib.pyplot as plt C=np.array([[1,2,3],[4,5,6]]) # Display ...