Python通过yagmail实现发送邮件代码解析


Posted in Python onOctober 27, 2020

之前使用email模块+smtplib模块发送邮件,虽然可以实现功能,但过程比较繁琐,今天发现一个宝藏库(yagmail),可以说是炒鸡好用啦!!!

贴上实现代码,大家细品

yagmail安装

pip install yagmail

封装邮件发送服务:

import yagmail


class SendEmail:
  def __init__(self, receiver,subject=None,contents=None,attachment=None):
    """

    :param receiver: 收件人
    :param attachment: 附件
    :param contents: 正文
    :param subject: 标题
    """
    self.receiver = receiver
    self.attachment = attachment
    self.contents = contents
    self.subject = subject

  def send_email(self):
    # 链接邮箱服务器
    yag = yagmail.SMTP(user="29xxx959@qq.com", password="授权码", host='smtp.qq.com')

    # 发送邮件
    yag.send(to=self.receiver, subject=self.subject, contents=self.contents, attachments=self.attachment)

测试发送(带附件):

pro_dir = os.getcwd()
report = os.path.join(pro_dir, r'ApiReport_2020_06_28 16_31_00.html')
send = SendEmail('864xxx590@qq.com','ceshifasong', '测试', report)send.send_email()

*收件人可使用列表,同时发送给多个邮箱*

接收到的邮件:

Python通过yagmail实现发送邮件代码解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用django-suit为django 1.7 admin后台添加模板
Nov 18 Python
Python基础篇之初识Python必看攻略
Jun 23 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
python中多层嵌套列表的拆分方法
Jul 02 Python
Django中信号signals的简单使用方法
Jul 04 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
python英语单词测试小程序代码实例
Sep 09 Python
python3.8下载及安装步骤详解
Jan 15 Python
python3.6连接mysql数据库及增删改查操作详解
Feb 10 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
在 Golang 中实现 Cache::remember 方法详解
Mar 30 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 #Python
Python字符串查找基本操作代码案例
Oct 27 #Python
Python爬取豆瓣数据实现过程解析
Oct 27 #Python
UI自动化定位常用实现方法代码示例
Oct 27 #Python
基于python获取本地时间并转换时间戳和日期格式
Oct 27 #Python
如何在pycharm中安装第三方包
Oct 27 #Python
Python操控mysql批量插入数据的实现方法
Oct 27 #Python
You might like
针对初学PHP者的疑难问答(2)
2006/10/09 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
JQuery简单实现锚点链接的平滑滚动
2015/05/03 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
Python中的choice()方法使用详解
2015/05/15 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
python批量获取html内body内容的实例
2019/01/02 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
详解python多线程之间的同步(一)
2019/04/03 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
美德少年事迹材料
2014/01/23 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
证婚人致辞精选
2015/07/28 职场文书
2016高考感言
2015/08/01 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis