Flask-Mail 库使用详解:配置、代码示例与网易邮箱实践

唐可
唐可
发布时间:2026-10-13 | 3人浏览过
原创

本文详细介绍 Flask-Mail 库在 Flask 项目中的应用。涵盖安装方法、SMTP 服务器配置参数说明,以及基于网易163邮箱的完整代码示例。重点解析 Message 对象的使用、异步发送实现及客户端授权密码的配置注意事项,帮助开发者快速实现邮件提醒功能。

本文通过具体实例解析 Flask-Mail 的使用方法,旨在为读者提供实用的参考内容。

许多应用程序需要在特定事件触发时向用户发送通知,而电子邮件是最常见的通信方式之一。

尽管 Python 标准库中的 smtplib 模块可用于在 Flask 应用中发送电子邮件,但封装了 smtplib 的

Flask-Mail 扩展能够与 Flask 实现更紧密的集成。

安装

pip3 install flask-mail

Flask-Mail SMTP 服务器的配置

配置 默认值 说明
MAIL_SERVER localhost 电子邮件服务器的主机名或IP地址
MAIL_PORT 25 电子邮件服务器的端口
MAIL_USE_TLS False 启用传输层安全协议
MAIL_USE_SSL False 启用安全套接层协议
MAIL_USERNAME None 邮件账户的用户名
MAIL_PASSWORD None 邮件账户的密码

代码示例

from threading import Thread
from flask import Flask
from flask_mail import Mail,Message
app = Flask(__name__)
app.config["MAIL_SERVER"] = "smtp.163.com"
app.config["MAIL_PORT"] = 465
app.config["MAIL_USE_SSL"] = True
app.config["MAIL_USERNAME"] = "xxxxx@163.com"
app.config["MAIL_PASSWORD"] = "123456"
mail = Mail(app)
@app.route("/send_mail")
def send_mail():
  """
  发送邮件
  """
  message = Message("标题",sender=app.config["USERNAME"],recipients=["xxxxxx@qq.com"])
  message.body = "内容"
  t = Thread(target=send_email,args=(message,))
  t.start()
  return "发送成功"
def send_email(msg):
  with app.app_context():
    mail.send(msg)
if __name__ == "__main__":
  app.run()

Message:邮件消息对象;sender:发送者邮箱地址;recipients:接收者邮箱列表;body:邮件正文内容。

网易163免费邮箱相关服务器信息

使用网易邮箱作为发送源时需注意,配置中的密码并非邮箱登录密码,而是客户端授权密码。

希望本文所述内容能对基于 Flask 框架的 Python 程序设计提供有效帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表