python 中使用yagmail 发送邮件功能
作者:小林同学_Scorpio 发布时间:2022-10-27 11:48:36
标签:python,yagmail,发送邮件
1.使用前先要安装 yagmail
pip install yagmail -i https://pypi.douban.com/simple
2.使用QQ邮箱发送邮件,使用的是授权码,需要先到QQ邮箱申请授权码。
邮箱设置-->账户
3.yagmail 模块发送邮件更加简单,四行代码
# -*- encoding: utf-8 -*-
import yagmail
def E_mali_jj(fr,key,etype,text,to,attachments):
'''
:param fr: 发送邮箱
:param key: 授权码
:param etype: 邮件类型
:param text: 文本
:param to: 接受邮箱
:param attachments: 附件文件地址,空则填''
:return:
'''
# 链接邮箱服务器
yag=yagmail.SMTP(user=fr,password=key,host=etype)
# 邮箱正文
contents=[text]
# 发送邮件
yag.send(to=to,subject='邮件标题',contents=contents,
attachments=attachments) #subject 标题
yag.close()
print("邮件发送成功")
if __name__ == '__main__':
E_mali_jj("123456@qq.com",
"gwheybuaamrqbihh",
'smtp.qq.com',
"邮件正文内容",
"123456@qq.com",
"E:\\proto_code\\Roshan-01-microscript-proto_test-master-src\\src\\report\\report.html")
邮件发送给多个人,将接受的邮箱放在列表中即可
# 发送邮件
yag.send(to = ['123456@qq.com','678910@qq.com', '10111213@qq.com'], subject='subject', contents = contents, attachments="")
4.发送邮件带附件
# -*- coding:utf-8 -*-
import yagmail
yag = yagmail.SMTP( user="157540957@qq.com",
password="kayzilfyziulbhbb1",
host='smtp.qq.com')
"""
user: 发送的邮箱
password: 授权码
"""
# 邮箱正文
contents = ['测试发送邮件']
# 附件
attachments = "D:\\code\\0906\\api_test009\\report\\report.html"
# 发送邮件
try:
yag.send(to = '3437871062@qq.com',
subject='subject',
contents = contents,
attachments=attachments)
except Exception as e :
print("Error: 抱歉!发送邮件失败。", e)
"""
to : 接收者
subject : 邮件主题
contents: 正文
attachments: 附件
"""
yag.close()
5.封装
# -*- coding:utf-8 -*-
import yagmail
def send(user, password, receiver):
yag = yagmail.SMTP( user=user,
password=password,
host='smtp.qq.com')
"""
user: 发送的邮箱
password: 授权码
"""
# 邮箱正文
contents = ['测试发送邮件']
# 附件
attachments = "D:\\code\\0906\\api_test009\\report\\report.html"
# 发送邮件
try:
yag.send(to=receiver,
subject='subject',
contents = contents,
attachments=attachments)
except Exception as e :
print("Error: 抱歉!发送邮件失败。", e)
"""
to : 接收者
subject : 邮件主题
contents: 正文
attachments: 附件
"""
yag.close()
if __name__ == '__main__':
send("123456@qq.com", "kayzilfyziulbhbb1", "45678910@qq.com")
来源:https://www.cnblogs.com/xiaolintongxue1/p/15748830.html


猜你喜欢
- 在介绍之前,首先一个概念明确一个共识:没有攻不破的网站,只有值不值得。这意思是说,我们可以尽可能的提高自己网站的安全,但并没有绝对的安全,当
- 最近跟着OpenCV2-Python-Tutorials在学习python_opencv中直方图的反向投影时,第一种方法是使用numpy实现
- UUID 全称是 Universally unique identifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据
- 需求分析项目上需要用到手机号前7位,判断号码是否合法,还有归属地查询。旧的数据是几年前了太久了,打算用python爬虫重新爬一份单线程版本#
- MYSQL的事务处理主要有两种方法。 1、用begin,rollback,commit来实现 begin 开始一个事务 rollback 事
- MySQL分区表概述我们经常遇到一张表里面保存了上亿甚至过十亿的记录,这些表里面保存了大量的历史记录。 对于这些历史数据的清理是一个非常头疼
- Python的创始人为荷兰人吉多·范罗苏姆 (Guido van Rossum)。 * 圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞
- 如下所示:import numpy as np a=np.random.randint(0,10,size=[3,3,3])print(a)
- 当然,5.6的GUID功能的出现也带来了multi-master的无限可能,不过这个已经是题外话了。 本文主要介绍一种非实时的适用于各版本M
- 一、model.py1.1 Channel Shuffledef channel_shuffle(x: Tensor, groups: in
- 本文实例讲述了纯js封装的ajax功能函数与用法。分享给大家供大家参考,具体如下:AJAX = Asynchronous JavaScrip
- 在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能。我喜欢用python实现,因为python提供了很多成熟的模块,
- 巧用get和set,能够直接操作对象属性实现读写,可以极大的提高编程效率,给出一个典型示例: var test = { _Name : nu
- split函数主要应用场景是Python对字符串的处理中(数据分析,数据处理),以及计算机二级考试的常考基础知识点。一、split函数的官方
- 程序介绍本程序利用1.密码必须由数字、字母及特殊字符三种组合2.密码只能由字母开头3.密码长度不能低于16位来判断密码程度。首先,把可输入的
- 写一个循环删除的过程。 create or replace procedure delBigTab(p_TableName in varch
- 在SQL Server中,为了查询性能的优化,有时我们就需要对数据表通过建立索引的方式,目的主要是根据查询要求,迅速缩小查询范围,避免全表扫
- 1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.
- 今天主要是来说一下怎么可视化来监控你的爬虫的状态。相信大家在跑爬虫的过程中,也会好奇自己养的爬虫一分钟可以爬多少页面,多大的数据量,当然查询
- 关于 TensorFlowTensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(N