赞
踩
参考(使用flask-mail发送邮件):https://www.cnblogs.com/lynsyklate/p/6443407.html
和flask博客教程:https://blog.csdn.net/weixin_38256474/article/details/81746739
为什么需要向用户发送电子邮件?一个常见的原因是解决与身份验证相关的问题。将为忘记密码的用户添加密码重置功能。当用户请求重置密码时,应用程序将发送包含特制链接的电子邮件。然后用户需要单击该链接以访问用于设置密新密码的表单。
在发送电子邮件方面,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.csdn.net/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@sina.cn']
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
获得邮箱授权码,将邮箱授权码写入配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。