参考(使用flask-mail发送邮件):https://www.cnblogs.com/lynsyklate/p/6443407.html
和flask博客教程:https://blog.youkuaiyun.com/weixin_38256474/article/details/81746739
为什么需要向用户发送电子邮件?一个常见的原因是解决与身份验证相关的问题。将为忘记密码的用户添加密码重置功能。当用户请求重置密码时,应用程序将发送包含特制链接的电子邮件。然后用户需要单击该链接以访问用于设置密新密码的表单。
Flask-Mail简介
在发送电子邮件方面,Flask有一个流行扩展,名为Flask-Mail,可让这个任务变得很简单。安装:pip install flask-mail,版本0.9.1
附带安装blinker,版本1.4,它提供一个快速的调度系统,允许任何数量的相关方订阅事件,或“信号”。

密码重置链接中将包含安全令牌。为生成这些令牌,得使用JSON Web令牌,它有一个流行的Python包 pyjwt:

Flask-Mail扩展是从app.config对象配置。在config.py做如下配置(参考https://www.cnblogs.com/huchong/p/8990610.html和https://blog.youkuaiyun.com/qq_41631952/article/details/79531205)
import os
class Config():
#表单配置
CSRF_ENABLED=True
SECRET_KEY='YOU-WILL-SUCCEED'
#数据库配置
SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:123456@localhost:3306/flaskblog?charset=utf8'
SQLALCHEMY_TRACK_MODIFICATIONS=False
POSTS_PRE_PAGE=3
#邮件发送
MAIL_SUPPRESS_SEND=False #默认为app.testing,如果为True,则不会真的发送邮件,供测试使用
MAIL_SERVER='smtp.sina.cn' #邮件服务器地址,默认为localhost
MAIL_PORT=int(465) #邮件服务器端口,默认为25
MAIL_USE_SSL=True #是否启用安全套接层(secure sockets layer)默认为False
MAIL_PASSWORD='xxxxx' #邮箱服务器授权码
MAIL_USERNAME='xxxxxxx@sina.cn' #邮箱用户名
ADMINS=['xxxxxx@s

本文介绍了使用Flask-Mail扩展在Flask应用中实现密码重置功能,通过QQ邮箱发送带有安全令牌的重置链接。用户请求重置密码时,会收到含有重置链接的邮件,点击后进入新密码设置页面。文章详细讲解了Flask-Mail的配置、密码重置令牌的生成与验证,以及异步发送邮件的方法,以提高用户体验。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



