重置密码卡在无效的电子邮件上

时间:2016-05-23 08:15:40

标签: python django email weblate

我在Weblate安装(基于Django的翻译系统)中注册了用户,并为用户输入了错误的电子邮件地址。尝试发送重置密码电子邮件后,我收到了来自邮件提供商的Delivery Status Notification (Failure)封电子邮件,错误代码为550 Requested action not taken: mailbox unavailable

之后,无论我在重置密码电子邮件表单中输入哪个电子邮件地址(即使其他用户已经注册),Django也会尝试将重置电子邮件发送到该错误的电子邮件地址。我收到来自邮件提供商的类似退回邮件。发送的电子邮件具有相同的目标地址,验证网址中的id参数相同,但verification_code s不同。

我尝试查看日志,唯一感兴趣的是:

INFO:weblate:sending notification reset on 2414792abd0d4bcb92fd654c2f020ac0 to user@provider.com

...这对我搜索Django的源代码没有帮助。

是否有某种电子邮件队列包含我需要刷新的错误地址?

1 个答案:

答案 0 :(得分:2)

Weblate不使用Django的内置密码重置功能,而是使用python-social-auth。看看the code,似乎它使用会话变量来传递信息到/来自python-social-auth。

问题是,如果会话已经存在(即用户请求重置密码),那么无论您在表单中提交的是哪个电子邮件地址,如果您提交新请求,它都不会刷新会话。

解决方案:清除您的Cookie。可能还值得提交错误报告吗?