当前位置: 首页 > news >正文

python flask配置邮箱发送功能,使用flask_mail模块

  • 🌈所属专栏:【Flask】
  • 作者主页:  Mr.Zwq
  • ✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询!

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩🥰😍

目录

前言

安装

使用

config.py 配置文件内容

app.py 文件内容

效果

 1.纯文本格式邮件

 2.html格式邮件

总结


前言

        通过 flask_mail 模块,只需进行简单配置后,使用两三行代码就可以快速实现发送邮箱的功能,十分方便。


安装

pip install flask_mail

使用

config.py 配置文件内容

class Config():# 邮箱配置MAIL_SERVER = "smtp.qq.com"    # 邮箱服务器MAIL_USE_SSL = TrueMAIL_PORT = 465MAIL_USERNAME = "XXXXXX@qq.com"          # 发送方邮箱MAIL_DEFAULT_SENDER = "XXXXXX@qq.com"    # 发送方邮箱MAIL_PASSWORD = "XXXXXX"                 # 发送方邮箱的秘钥

 关于邮箱秘钥的获取,可以参考之前发布过的文章:python快速实现发送邮件功能-CSDN博客

app.py 文件内容

from flask import Flask
from config import Config
from flask_mail import Mail, Messageapp = Flask(__name__)# 读取配置文件
app.config.from_object(Config)
# 创建邮箱对象
mail = Mail(app)@app.route('/')
def index():# 接收方邮箱user_email = 'XXXXXX@qq.com'# 1.纯文本格式邮件,用body参数message1 = Message(subject='邮箱主题', recipients=[user_email], body='哈哈哈')# 2.html格式邮件(即可以设置字体样式,携带图片等等),用html参数message2 = Message(subject='邮箱主题', recipients=[user_email],html='<p style="color:red">哈哈哈</p><img src="https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png">')mail.send(message1)mail.send(message2)return '邮件发送成功'if __name__ == '__main__':app.run(debug=True)

效果

 1.纯文本格式邮件


 2.html格式邮件


总结

感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹

👍🏻也欢迎你,关注我。👍🏻

如有疑问,可在评论区留言哦~

相关文章:

  • shell的正则表达式
  • java实现持续集成
  • 使用 C++11 Lambda 表达式在 Qt 中连接信号与槽
  • MySQL中的系统变量权限
  • 字节跳动:从梦想之芽到参天大树
  • 二叉树经典OJ练习
  • Webfunny【用户细查】七项功能升级更新:大幅提升用户排查效率!
  • CLIP-ReID代码解读七——model.py上
  • gitee添加别人的仓库后,在该仓库里添加文件夹/文件
  • 协程执行顺序引发的问题
  • 如何配置taro
  • C++STL 初阶(5)vector的简易实现(上)
  • [MRCTF2020]PixelShooter
  • Jenkins+K8s实现持续集成(一)
  • 晶谷电子器件烧结封装介质材料 绝缘用晶谷低温封接环保玻璃粉 耐压高
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • android 一些 utils
  • Cumulo 的 ClojureScript 模块已经成型
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • javascript 哈希表
  • JavaScript 基本功--面试宝典
  • Linux各目录及每个目录的详细介绍
  • node-glob通配符
  • October CMS - 快速入门 9 Images And Galleries
  • orm2 中文文档 3.1 模型属性
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 如何用vue打造一个移动端音乐播放器
  • 转载:[译] 内容加速黑科技趣谈
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • Java总结 - String - 这篇请使劲喷我
  • k8s使用glusterfs实现动态持久化存储
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​Spring Boot 分片上传文件
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (a /b)*c的值
  • (Python第六天)文件处理
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (一)Linux+Windows下安装ffmpeg
  • (转)winform之ListView
  • (转)视频码率,帧率和分辨率的联系与区别
  • .Net Remoting常用部署结构
  • .NET 使用 XPath 来读写 XML 文件
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?