フォーラムのトピック作成者の名前が、Notify機能を使用した送信済みメールの通知者として使用されています

環境

Discourse バージョン: 2.8.0.beta1 ( 98736e15f0 )
問題の再現性: 100%

再現手順:

  1. トピック下部にある「共有」ボタンをクリックします。
  2. 「通知」ボタンをクリックします。
  3. 「次のユーザーにこのトピックを通知する:」フィールドに、Discourse のユーザー名を入力します。
  4. 「✓」ボタンをクリックして、ユーザーにトピックを通知します。
  5. メール受信トレイを確認します。
  6. 「[あなたのサイト名] 経由」のテキストの前にある送信者名を確認します。

期待される結果:

送信者名は「[通知を行った人のユーザー名] via [あなたのサイト名]」と表示されるはずです。

この例では、ehunkemoeller ではなく VirtualTour と表示されるはずです。

ehunkemoeller はトピック作成者であり、VirtualTour が実際にユーザーにトピックを通知した人物です。

実際の結果:

通知を行った人の名前ではなく、トピック作成者の名前が表示されます。

@tobiaseigen 最近これをお手伝いされましたが、ご期待通りの内容でしょうか?

「いいね!」 1

再現できました。誰かが私の投稿を引用したり、返信したり、@username で言及したり、トピックに招待したりした際にメールを送信する というユーザー設定が有効になっているケースをテストしていなかったため、気づきませんでした。Joel のスクリーンショットをご覧いただくとわかる通り、通知者のユーザー名は正しく表示されています。通知メニューでも正しく表示されます。

Joel が見つけた問題は、Discourse でデフォルトで有効になっている メールの送信者に表示する名前 という管理者設定により、メールの「From」欄に投稿者のフルネームが表示されてしまうことです。

@dan、この場合の「From」のユーザー名を、投稿者ではなく通知者に変更することは可能でしょうか?

「いいね!」 2

以前もこのバグに遭遇したことがありますが、再現させることはできませんでした。問題は、フォーラムで名前が有効になっている場合、招待者の代わりに投稿者の名前が表示されてしまうことです。名前が無効になっている場合は、「via FORUM_NAME noreply@example.com」と表示されますが、本来は「USERNAME via FORUM_NAME noreply@example.com」と表示されるべきです。

この PR で両方の問題を修正しました:

バグ報告をありがとうございます!

「いいね!」 3