使用yagmail发送邮件
一.yagmail基本数据准备
1.终端下载yagmail:pip install yagmail
2.获取SMTP和密钥
我们以新浪邮箱为例,登录成功后进入设置页面,点击客户端pop/imap/smtp分类栏,会看见IMAP4服务/SMTP服务

SMTP就是客户端设置下SMTP服务器的值,密钥的话在你开启服务状态成功后会弹出(如果原本就是开启状态,需先
关闭后再开启)。
二.发送正文
1.与邮箱服务器建立连接
smtps = yagmail.SMTP(user='your@sina.com', password='密钥', host='SMTP服务器') # 建立连接
user:你的邮箱地址
password:密钥值,不是邮箱密码
host:SMTP值
2.通过send()方法发送邮件
smtps.send(to="123456@qq.com", subject="标题", contents="正文")
to:指定接收人的邮箱
subject:邮件标题
contents:邮件正文内容
3.contents属性
1)可直接输入发送的内容或图片以及文件地址,会自动识别传递的内容格式,若是图片/文件会以附件的方式发送给目标邮箱
2)可将内容格式编辑在文件中,直接读取文件内容发送
with open("./txt/yag.txt", mode="r", encoding="utf-8")as a:
data = a.read()
smtps.send(to="123456@qq.com", subject="标题", contents=data)
4.关闭连接
smtps.close()
三.发送附件
1.发送单个附件
smtps.send(to="123456@qq.com", subject="标题", contents="正文",attachments="文件地址")
attachments:附件
2.发送多个附件
att_list = ['./img/base64.png', 'yag.txt']
smtps.send(to="123456@qq.com", subject="标题", contents="正文", attachments=att_list)
attachments:可传list
四.收件人起别名
reci = {
'123456@QQ.com': "qq" # 取别名
}
smtps.send(to=reci, subject="标题", contents="正文")
若发送多个邮箱都起别名的话,可在reci中添加多个
五.多人发送
to_list = ['123456@qq.com', '123456@163.com']
smtps.send(to=to_list, subject="标题", contents="正文")
to:可传递list
六.多人抄送和密抄
cc_list = ['123456@qq.com', '123456@163.com']
bcc_list = ['123456@sina.com']
smtps.send(to="123456@qq.com", subject="标题", contents="正文",cc=cc_list,bcc=bcc_list)
cc:抄送
bcc:密抄
七.发送html测试报告
1.生成html文件:pytest --html=生成报告的url --self-contained-html 运行用例的.py文件
2.以附件的形式发送
smtps.send(to="123456@qq.com", subject="发送自动化测试报告html", contents="html", attachments="html地址")
文章来源:https://www.cnblogs.com/lihongtaoya/ ,请不要转载
使用yagmail发送邮件的更多相关文章
- python之yagmail发送邮件
yagmail发送邮件 import yagmail yag = yagmail.SMTP(user="xxxxxxxxxx@163.com",password="xxx ...
- Unittest单元测试框架——BeautifulReport测试报告和Yagmail自动发送邮件
一.前言 之前在做appium自动化的时候,已经提到过unittest框架的基本概念.用例执行,以及BeautifulReport测试报告的简单使用了(地址:https://www.cnblogs.c ...
- 利用Python 发送邮件
概要 我们都知道SMTP(简单邮件传输协议),是一组用于从原地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式.SMTP规定电子邮件应该如何格式化.如何加密,以及如何在邮件服务器之间传递.SMT ...
- Selenium实战(七)——自动发送邮件
SMPT(Simple Mail Transfer Protocol)简单邮件传输协议,是一组由源地址到目的地址传送邮件的规则,可以控制信件的中转方式.Python的smptlib模块提供了简单的AP ...
- python基础:用yagmail模块发邮件
一.yagmail模块安装 网上下载的yagmail模块安装以后,在使用过程中,如果附件有中文,会显示乱码. pip install yagmail-0.10.212-py2.py3-none-any ...
- Python自动化测试发送邮件太麻烦?!一起聊一聊 Python 发送邮件的3种方式
1. 前言 发送邮件,我们在平时工作中经用到,做为测试人员,在自动化测试中用的也比较多,需要发送邮件给某领导 SMTP是Python默认的邮件模块,可以发送纯文本.富文本.HTML 等格式的邮件 今天 ...
- Python学习笔记18-发送邮件
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件, ...
- 【目录】Python模块学习系列
目录:Python模块学习笔记 1.Python模块学习 - Paramiko - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...
- python3学习笔记一
install 安装软件包download 下载安装包uninstall 卸载安装包freeze 按照req uirements 格式输出安装包,可以到其他服务器上执行pip install -r r ...
- ❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️
@ 目录 开发环境搭建 安装 Python 验证是否安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待用户输 ...
随机推荐
- JavaScript实现:如何写出漂亮的条件表达式
摘要:就让我们看看以下几种常见的条件表达场景,如何写的漂亮! 本文分享自华为云社区<如何写出漂亮的条件表达式 - JavaScript 实现篇>,原文作者:查尔斯. 条件表达式,是我们在c ...
- PPT MBE风格的插画
两种或多种不同的图形,通过合并形状等一些操作叫布尔运算 渐变模式 线性渐变:几个不同的颜色[垂直] 射线渐变:圆形弧度的渐变 矩形渐变:矩形 路径渐变:中心形状和外面形状保持一致 渐变方向 射线渐变方 ...
- ChatGPT带你入门机器学习:逻辑回归模型博客和小红书风格文案一次搞定!
打脸了 顺手向大家演示一下如何用 ChatGPT 写技术博客吧,其实蛮简单的,特别需要操心的是它会一本正经的胡说八道,还信誓旦旦的.我们要审查它的回答,万不可全信. 为了便于阅读,我把prompt加粗 ...
- 机器学习的线性代数(Python 版)
线性代数是数学的分支学科,涉及矢量.矩阵和线性变换.它是机器学习的重要基础,从描述算法操作的符号到代码中算法的实现,都属于该学科的研究范围. 虽然线性代数是机器学习领域不可或缺的一部分,但二者的紧密关 ...
- 技术文档 | 在Jenkins及GitlabCI中集成OpenSCA,轻松实现CI/CD开源风险治理
插播: OpenSCA-cli 现支持通过 homebrew 以及 winget 安装: Mac/Linux brew install opensca-cli Windows winget inst ...
- 移动端h5中rem适配
1 (function (win, lib) { 2 var doc = win.document; 3 var docEl = doc.documentElement; 4 var metaEl = ...
- 请问Sass/SCSS(with node-sass)和Sass/SCSS(with dart-sass)选哪个?
node-sass是自动编译实时的,dart-sass需要保存后才会生效. 如果您在Dart-VM内运行Dart-Sass,它的运行速度很快,但它表示可以编译为纯JS,dart-sass只是一个编译版 ...
- vue实现word或pdf文档导出的功能
https://www.jianshu.com/p/73915ef6ac89 Vue - element-ui 中预览 word .exce.ppt以及pdf文件 https://blog.csdn. ...
- Postman调试grpc
转载请注明出处: 1.检查自己的postman是否支持 grpc,通过 File -> new -> ,出现如下图,则表示支持: 2.点击上图的grpc就会自动创建一个 grpc 的req ...
- bootstrap : 解决使图片全屏显示有空白边距的问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8 ...