アクティベーションメールをバイパスできますか

API を使用して activate: true でユーザーを作成しましたが、管理コンソールで確認するとユーザーはアクティブ化されている表示になります。

しかし、そのユーザーでログインしようとすると、以下のようなエラーが表示されます。

まだログインできません。以前、user@email.com 宛にアクティブ化メールを送信しました。アカウントをアクティブ化するには、そのメールに記載された手順に従ってください。

なぜこのような表示になるのでしょうか?これを回避したいのですが、何か設定で無視することはできますか?

これは単に、古いフォーラムの既存ユーザーを新しい Discourse フォーラムに移行させたいだけなので、彼らにアクティブ化を促すのは不要な手間だと考えています。新規登録したばかりのユーザーに対しては、その仕組みがなぜ必要なのかはよく理解しています。

現時点ではテスト目的で 1 人のユーザーを作成しているだけですが、将来的には 5000 人のユーザーを作成する予定です。設定が間違っている可能性もあり、やり直す必要があるかもしれません。そのため、本番運用を開始するまでは、いかなるメールも送信されないようにしたいのですが、メール送信を無効化することはできますか?

一度無効化してから再度有効化してみてください。API でユーザーを作成して有効化しても機能しないケースを以前に見たことがあります。

ユーザーが無効化されると、メールを通じてアカウントを再有効化する必要があります。つまり、ユーザー側にある程度の「手間」がかかります。

旧フォーラムから現在のフォーラムへユーザーが移行した際、すべて招待メールを通じて行われ、誰も文句を言いませんでした。ほとんどのユーザーはプロフィールを記入しましたが、一部を除いてはそうしました。「最も大変だった」のは、プロフィールや自己紹介の作成を促すことでした。既存の手順(メールリンクをクリックし、アカウントを設定する…完了)をユーザーに踏んでもらう方が、あなたにとっても簡単だと思います。ただし、Discourse がデフォルトで割り当てるユーザー名(メールアドレスの @ 以前の部分)を変更する必要があることを、ユーザーに伝えておくとよいでしょう。

2018 年 2 月に私が行った方法は以下の通りです:

ありがとうございます、動作しました。create user で activate を true に設定すると、メールは送信されないものの、正しくアクティベートもされないようです。そのため、初回ログイン時にアクティベーションメールを送ったと表示されますが、実際には送られていません。ただし、私の理解が間違っている可能性もあります。

しかし、一度無効化してから有効化すれば、アクティベートなしで初回ログインが可能になり、メールも送信されません。これが私が望んでいた動作です。