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

[flask] flask-mail邮件发送

要让个人邮箱可以利用邮箱服务器发送邮件,需要打开服务并获取专属授权码。(在邮箱设置的账号设置里面)
在这里插入图片描述
在app文件中初始化之前必须要进行配置,设置个人邮箱信息

MAIL_SERVER 电子邮件服务器的名称/IP地址
MAIL_PORT 使用的服务器的端口号
MAIL_USE_TSL 启用/禁用传输安全层加密
MAIL_USE_SSL 启用/禁用安全套接字层加密
MAIL_DEBUG 调用支持。默认值是Flask应用程序的调试状态
MAIL_USERNAME 发件人的用户名
MAIL_PASSWORD 发件人的密码
MAIL_DEFAULT_SENDER 设置默认发件人
MAIL_MAX_EMAILS 设置要发送的最大邮件数
MAIL_SUPPRESS_SEND 如果app.testing 设置为true,则发送被抑制
MAIL_ASCII_ATTACHMENTS 如果设置为true,则附加的文件名将转换为ASCII

引入flask-mail 库包,创建邮箱对象

#在模块化py文件中写法
#exts文件
from flask_mail import Mail
mail = Mail()
#app文件
from exts import mail
app.config.from_object(config)
mail.init_app(app)  #初始化mail对象,在这之前必须要绑定配置信息

发送消息

from flask_mail import Message #消息对象
message = Message(subject="邮箱测试",recipients = ["202020502014@mails.zstu.edu.cn"],body="邮箱测试主题内容"); 
mail.send(message);

消息对象可以设置的参数:

  • subject 主题
  • recipients 收件人
  • sender 发件人
  • body 消息内容
  • html 发送内容,html形式
  • attachments 附件
    在这里插入图片描述

整理代码
直接在app.py中所使用

from flask_mail import Mail,Message

#配置信息
MAIL_SERVER = "smtp.qq.com"
MAIL_USE_SSL = True
MAIL_PORT = 465
MAIL_USERNAME =****@qq.com”    #自己的邮箱
MAIL_DEFAULT_SENDER =*****@qq.com”     #自己的邮箱
MAIL_PASSWORD =*****#授权码

#初始化Mail类
mail = Mail(app)

#使用mail发送消息
@auth.route("/mail/test")
def mail_test():
    # Message 参数 第一个参数是subject:主题,
    # recipients 收件人
    # sender送件人列表,
    # body 是 设置文本, html是写入html文本
    # attachments 附件
    message = Message(subject="邮箱测试",recipients = [****"],body="邮箱测试主题内容");
    mail.send(message);
    return "邮件发送测试"

分模块的我就不展示了


http://www.kler.cn/a/371652.html

相关文章:

  • Selenium自动化测试框架详解
  • 【51 Pandas+Pyecharts | 深圳市共享单车数据分析可视化】
  • 2024前端面试训练计划-高频题-Vue基础篇
  • spyglass关于cdc检测的一处bug
  • 文件上传绕过的方法和原理
  • 【031】基于SpringBoot+Vue实现的在线考试系统
  • 论区块链技术及应用
  • 网络安全领域推荐职位
  • Data+AI下的数据飞轮:如何重塑企业增长
  • SpringBoot 解析@Value注解型解析注入时机以及原理
  • GPT-4V 是什么?
  • springboot工作原理以及自动装配原理
  • 软考高级架构 - 7.3 - 软件架构风格 - 超详细讲解+精简总结
  • Stable Diffusion 3.5发布:图像生成新纪元,多模态AI的突破!
  • 宽带自动获取ip地址好不好:利与弊的深度剖析
  • 【云原生】云原生后端:监控与观察性
  • STM32 SRAM写入16位数据时死机问题
  • 数据分析案例-苹果品质数据可视化分析+建模预测
  • React核心思维模型(一)
  • Linux中Web服务器配置和管理(Apache)
  • 时序动作定位 | CASE:基于聚类的弱监督时间动作定位前景与背景分离研究(ICCV 2023)
  • 关于AI绘画 | Stable Diffusion 技术专栏推荐文章
  • 气膜球幕:沉浸式音乐体验的新境界—轻空间
  • C++中list的使用与实现
  • 在IDEA中运行Mybatis后发现取出的password值为null
  • 地理征服营销与开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序的融合创新