11.4 重置密码

我们使用flask_mail来完成电子邮件的发送

pipenv install flask-mail

1.在app中注册flask-mail

    mail = Mail()
    mail.init_app(mail)

2.EMAIL配置

# email配置
MAIL_SERVER = 'smtp.qq.com'
MAIL_PORT = 465
MAIL_USE_SSL = True
MAIL_USE_TSL = False
MAIL_USERNAME = '1152057576@qq.com'
# QQ邮箱->设置->账户->[POP3...]->生成授权码->发送短信->获取授权码
MAIL_PASSWORD = 'pstomjiomwyybadh'

3.编写邮件工具类

def send_email(to, subject, template, **kwargs):
    msg = Message(
        subject,
        sender=current_app.config['MAIL_USERNAME'],
        recipients=[to])
    # 发送一封HTML邮件
    mail.html = render_template(template, kwargs)
    mail.send(msg)

4.测试调用

5.使用itsdangerous生成token

我们的token应该有一个过期时间,应该可以存储我们想要存储的值,flask为我们提供了一个非常好用的插件itsdangerous

6.重置密码

7.视图函数编写

8.发送邮件优化,异步发送

Last updated

Was this helpful?