python - yagmail 发送邮件
前言:
以前写过一篇使用smtplib发送邮件的文章
https://www.cnblogs.com/wwho/p/8609631.html
使用 yagmail 模块发送邮件更加简单,四行代码
以下是官方文档: https://github.com/kootenpv/yagmail
使用前先要安装 yagmail
pip install yagmail -i https://pypi.douban.com/simple
例子:简单发送邮件
# -*- coding:utf-8 -*-
import yagmail
# 链接邮箱服务器
yag = yagmail.SMTP( user="157540957@qq.com", password="授权码", host='smtp.qq.com')
"""
user: 发送的邮箱
password: 授权码
"""
# 邮箱正文
contents = ['测试发送邮件']
# 发送邮件
yag.send(to = '3437871062@qq.com', subject='subject', contents = contents, attachments=None)
"""
to : 接收者
subject : 邮件主题
contents: 正文
attachments: 附件
"""
yag.close()
print("邮件发送成功")
发送邮件给多个人
邮件发送给多个人,将接受的邮箱放在列表中即可
# 发送邮件
yag.send(to = ['3437871062@qq.com','2222@qq.com', '333@qq.com'], subject='subject', contents = contents, attachments="")
发送邮件带附件
# -*- 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()
封装
# -*- 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("157540957@qq.com", "kayzilfyziulbhbb1", "3437871062@qq.com")
------分界线------
勤则百病消除,从现在开始努力,最差的结果也是大器晚成而已,不慌!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现