皆様こんにちは、
正規表現による投稿のブロックが機能しなくなっています。RegEx テストツールはメールアドレスを検出していますが、ユーザーはメールアドレスを投稿できてしまいます:
RegEx: (^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)
これはバグでしょうか?
お手数ですが、ご協力よろしくお願いいたします!
その正規表現に問題があると思います。メールがコンポーザーで単独の行に投稿されていない限り、失敗するようです。Discourse で正規表現をテストする際に、メールアドレス以外のテキスト(例えば、メールアドレスの前にスペースを1つ入れるだけでも)を追加することで、この点を確認できます。
以下は、メールアドレスに対して機能する正規表現の例です:
\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b
参考までに、この正規表現は以下のサイトで見つけました:How to Find or Validate an Email Address
ありがとうございます!動作しています。次に別の問題です:その正規表現を公開投稿のみに適用することは可能でしょうか?現在は、プライベートメッセージでもメールアドレスを送信できません。これは望ましくない動作です。
いいえ、監視対象単語を公開投稿のみに適用することはできません。その正規表現を設定している場合、ユーザーに正規表現に一致しない方法でメールアドレスを入力してもらう必要があります。例えば、@ 記号の前にスペースを入れるような方法が有効かもしれません。