「ユーザーが匿名」のため、アクティベーションメールがスキップされました

自分自身でホストしている Discourse インスタンスのテストに協力してくれるよう、11 人の同僚にメール招待を送りました。ほとんどの人は問題なくアカウントを作成できましたが、1 人だけ例外がありました。

彼に最初の招待メールを送ったところ、ソフトバウンスしました(送信メールには MailJet を使用しており、彼のメールアドレスのドメインは mac.com です)。8 日後に再送しましたが、再度ソフトバウンスしました。この間、私の個人アカウントからは正常にメールが送れていたので、招待リンクを生成してその方法で送りました。

彼がリンクをクリックすると、アカウントとパスワードの作成はできましたが、アクティベーションメールは届きませんでした。管理パネルを確認すると、アクティベーションメールが「Skipped」タブに表示されており、「Skip Reason」は「User is anonymous」となっていました。

この文脈での「anonymous」が何を意味するのかよくわかりません。リンク経由で招待されたユーザーは通常、メールアドレスを確認するためのアクティベーションメールが届くものだと思っていました。「full name required」はチェック済みですが、彼はプロフィールのその項目に入力済みでした。

匿名モードを有効にしていますか?Discourse ではデフォルトで無効になっています。

デフォルトから変更した「匿名」を含む設定は以下の通りです:

「ログイン必須」:オン
「サインアップ CTA を有効化」:オフ
「匿名投稿を許可」:オン

匿名アカウントは一時的なものであり、ログイン中のユーザーが「匿名モードに入る」オプションを選択した際にその都度作成されることをお忘れなく。

なるほど、これは興味深いですね。彼は一度もアクティベートされず、ログインもできなかったはずなのに、匿名モードに入れたとは思いませんでした。

Data Explorer でデータベースを検索し、どの匿名ユーザーがどの元のユーザーに関連付けられているかを確認しました。彼のアカウントは、私の管理者アカウントにリンクされた匿名ユーザーとして表示されています。

なぜ彼が anonymous_users テーブルに存在するのか、理由がわかりません。

SSOコードに何か問題があるようです。SSOを使用していますか?

それ以外については、何らかの方法でインストールが破損していると思われます。

SSO は使用しておらず、組み込みのユーザー認証のみを使用しています。

インストールに問題がある場合、再構築で解決するでしょうか?

また、これは 2.4.0.beta6 への更新後に招待した最初のユーザーであり、メールではなく招待リンクを使用して招待した唯一のユーザーでもあります。

匿名モードの間に招待しましたか(招待リンクを生成)?:thinking:

リンクを生成した際は、匿名モードではなく管理者アカウントでログインしていました。

更新:問題を再現しようとして別のメールアドレスで試したところ、個人用iCloudメールから、Gmailがホストする教育用ドメイン(.edu)のセカンダリアドレスに招待リンクを送信しました。

招待リンクをクリックして登録した後、Discourseは教育用アドレスにアクティベーションメールを送信しました。管理者アカウントで確認したところ、新規ユーザーアカウントはanonymous_usersには含まれていませんでした。管理者としてログアウトし、その後、アクティベーションメールのリンクを通じてアカウントを有効化することができました。

新規ユーザーを削除した後、自動生成された招待メールを使って同じ手順を再度試みたところ、すべて期待通りに動作しました。

私が管理している別のメールアドレスでは問題を再現できなかったため、これは特定の人のメールアカウントやメールプロバイダーに関連する問題ではないでしょうか。以前、2回の招待メールは異なるタイミングでソフトバウンスしましたが、私の個人アカウントからはその人にメールを送信できていました(メールプロバイダーの問題ではないと思います。彼も私もmac.com/icloud.comを利用しており、Discourseから私の個人アカウントへメールを送信しても問題ないためです)。

また、配信性の問題のトラブルシューティングを試みるため、管理者のメール設定(admin/email)を通じてその人に「配信性テスト」メールを送信したところ、MailJetでは「配信済み」と表示されました。システムを通じて最後に彼にメールを送信してから現在までの間で変更された点は、DMARCレコードをDNSに追加したことです(SPFとDKIMは既に動作していましたが、DMARCは設定されていませんでした)。