2016-05-23 3 views
1

Weblateインストール(Djangoベースの翻訳システム)でユーザーを登録し、そのユーザーに間違った電子メールアドレスを入力しました。リセットパスワードメールを送信しようとした後、メールプロバイダからというメールでDelivery Status Notification (Failure)というメールが届きました。無効なメールにパスワードがリセットされました

その後、リセットされたパスワード電子メールフォーム(すでに登録されている他のユーザでも)に入力した電子メールアドレスにかかわらず、Djangoはその誤った電子メールアドレスにリセット電子メールを送信しようとします。私はメールプロバイダから同様のバウンスメッセージを受け取ります。送信された電子メールのターゲットアドレスは同じで、検証URLには同じidパラメータがありますが、異なるverification_codeがあります。

私は、ログに見てみました、と関心の唯一のものは次のとおりです。いずれかのDjangoのソースコードを検索して、私を助けていない

INFO:weblate:sending notification reset on 2414792abd0d4bcb92fd654c2f020ac0 to [email protected] 

...。

私はフラッシュする必要がある間違ったアドレスを含む電子メールキューがありますか?

+0

セッションCookieをクリアしてそのCookieが機能するかどうか確認できますか? – solarissmoke

+0

@solarissmokeそれがうまくいった。ありがとう、それは私には起こりませんでした。あなたはそれを答えとして書くことに気をつけますか?あなたにあなたのポイントを与えることができますか? –

+0

私はちょうどなぜこれが事実であるかを考えようとしており、解説付きの回答を掲示します。 – solarissmoke

答えて

2

WeblateはDjangoの組み込みのパスワードリセット機能を使用せず、代わりにpython-social-authを使用します。 the codeを見ると、セッション変数を使ってpython-social-authに/から情報を渡すようです。

セッションが既に存在する場合(つまり、ユーザーがパスワードリセットをリクエストした場合)、フォームに送信するメールアドレスに関係なく、新しいリクエストを送信するとセッションが更新されません。

解決方法:Cookieをクリアしてください。バグレポートを提出する価値があるかもしれませんか?

+1

Weblateで修正されました。https://github.com/nijel/weblate/issues/1129を参照してください。 –

関連する問題