问题标签 [itsdangerous]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 Flask-Mail 未在 Gmail 帐户中发送邮件
我正在尝试通过向 Gmail 帐户发送电子邮件来添加重置用户密码的功能。我一直在关注CoreySchafer YouTube 教程和Miguel Grinberg 教程来实现这一点。
总体思路是用户将收到密码重置请求表的提示,他们将在其中输入他们想要重置密码的电子邮件地址。单击“请求重置密码”后,将显示一条消息,表明电子邮件已发送到他们的 Gmail 帐户。通过单击电子邮件中的链接,用户将能够重置其密码。
相关文件名的代码如下:
文件:路由.py
文件:forms.py
文件:email.py
文件:models.py
文件:reset_password_request.html
文件:reset_password.html
我已将环境变量保存在根目录的 .env 文件中。
还在项目根目录中创建了 config.py 文件。
终端结果:
我还为我的 Gmail 帐户打开了“安全性较低的应用程序”,但仍然无法发送电子邮件。在执行 Flask 应用程序期间,终端中没有错误。
期待您最亲切的支持。
python - Flask Webapp - 注册后验证电子邮件 - 最佳实践
我一直在关注Corey Schafer 在基本烧瓶博客上的精彩 youtube 教程。除了 Corey 的代码,我想添加一个逻辑,用户必须在登录之前验证他们的电子邮件地址。我已经想用来自 itsdangerous 的 URLSafeTimedSerializer 来做到这一点,就像prettyprinted 在这里所建议的那样. 整个令牌创建和验证过程似乎有效。不幸的是,由于我对 python 的了解非常新鲜,我自己无法弄清楚如何将其保存到 sqlite3 数据库中。在我的模型中,我创建了一个带有 default=False 的布尔列 email_confirmed,我打算在验证过程之后将其更改为 True。我的问题是:当他点击他的自定义网址时,我如何最好地识别用户(为谁更改 email_confirmed 列)?将令牌保存在 db 列中然后按该令牌过滤以识别用户是否是一种好习惯?
以下是一些相关代码:
我的 modely.py 中的用户类
我的路线中的注册逻辑(使用用户蓝图):
最后一部分current_user.email_confirmed = True
,current_user.email_confirm_date =datetime.utcnow
可能是有问题的行。如上所述,由于用户在此阶段尚未登录,因此未进行所需的条目。我很感激这方面的任何帮助!提前非常感谢!