すべてのユーザーの通知メール設定を「なし」に設定する方法は?

私のユースケース:現在のフォーラムを段階的にインポートしています。最初のステップでは、カテゴリの再分類、ユーザーへのバッジ付与、ユーザーグループへの追加、投稿の移動、ヘルプに関する新規トピックの作成など、多くの作業が必要です。その間、選ばれた数人のユーザーにテストなどの協力をお願いする予定です。

その過程で、存在すら知らないフォーラムから現在のユーザーに通知メールが届かないようにしたいと考えています。「すべてのメールを無効化」する設定では不十分です。なぜなら、テストユーザーはログインのためにパスワードのリセットを要求する必要があるからです。

すでにメールダイジェストを無効にし、すべてのカテゴリのデフォルト設定を「ミュート」にする設定を適用しています。

ユーザーがパスワードのリセットを明示的に要求した場合を除き、他のメールやあらゆる種類の通知メールが送信されないようにしたいと考えています。

メールが送信されないようにするにはどうすればよいでしょうか?この設定で十分でしょうか?

ご理解のご協力、ありがとうございます!

「いいね!」 1

すべてのユーザーを無効化したいと考えています。彼らはパスワードをリセットすることで再有効化できます。これを行うための Rails コマンドの例は、ここで検索するか、いくつかのインポートスクリプトを確認することで見つけることができます。

「いいね!」 3

非アクティブ化する必要があるというご指摘をいただき、ありがとうございます。別のトピックであなたが書かれたスクリプトを見つけました。これで正しいでしょうか?

cd /var/discourse
./launcher enter app
rails c
User.where(“last_seen_at < ‘2016-01-01’”).update_all(active: false)
exit
exit

「いいね!」 2

それのようです!すべてのユーザーを無効にして、少数のユーザーにパスワードのリセットを行わせ、誤った人々にメールを送信しないようにし、そのプロセスがどのように機能するかを確認することをお勧めします。

「いいね!」 2

はい、承知しました。基本的に、パスワードをインポートしなかったため、全員がパスワードをリセットする必要があります。

すべての移動が完了したら、全員をどうやって再活性化すればよいでしょうか?
active:false を active:true に置き換えるのですか?

「いいね!」 1

ログインするには、「パスワードを忘れた」手続きを行う必要があります。

「いいね!」 1

はい、いずれにせよそれを行う必要がありますね :slight_smile:

ご支援と迅速なご対応、ありがとうございます!

「いいね!」 1

更新ありがとうございます!実行しました。

まず管理画面でどのユーザーが影響を受けるか確認し、現時点では自分だけアクティブにすればよいと判断しました。最後のアクティブ日は約50日前(ここ数日はアクティブでした)だったので、50日を基準にしました。

計算が面倒で計算したくなかったので、日付を2020-01-01に変更してスクリプトを実行しました。

そしたら、25400人のユーザーがアクティブから非アクティブに切り替わりました。

また、discobotとシステムユーザーは除外されており、アクティブのままです(これは理にかなっており、このようにプログラムされていて嬉しいです :))

「いいね!」 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.