Flask-Mail 库使用详解:配置、代码示例与网易邮箱实践
本文详细介绍 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 程序设计提供有效帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









