我在Weblate安装(一个基于Django的翻译系统)中注册了一个用户,并为用户输入了一个不正确的电子邮件地址。在尝试发送重置密码电子邮件后,我收到了来自邮件提供商的一封Delivery Status Notification (Failure)电子邮件,其中包含错误代码550 Requested action not taken: mailbox unavailable。
之后,无论我在重置密码电子邮件表单中输入了哪个电子邮件地址(甚至其他用户已经注册),Django尝试将重置电子邮件发送到不正确的电子邮件地址。我从邮件提供商那里收到了类似的回放消息。发送的电子邮件具有相同的目标地址和验证url中相同的id参数,但verification_code的地址不同。
我试着查看日志,唯一感兴趣的是:
INFO:weblate:sending notification reset on 2414792abd0d4bcb92fd654c2f020ac0 to user@provider.com…这也无助于我搜索Django的源代码。
是否有某种类型的电子邮件队列包含我需要刷新的不正确地址?
发布于 2016-05-23 09:29:44
Weblate不使用Django内置的密码重置功能,而是使用python-social-auth。从代码的角度来看,它似乎使用会话变量将信息传递给/来自python。
问题是,如果会话已经存在(即用户已请求密码重置),则无论您在表单中提交的电子邮件地址如何,如果您提交了新请求,会话将不会刷新。
解决办法:清理你的饼干。也值得提交一份错误报告吗?
https://stackoverflow.com/questions/37385905
复制相似问题