Reply-by-Email の短すぎる返信に対する誤ったエラーメッセージ

「テスト返信(メールによる)」のような短い返信を送信すると、以下のようなメールが返ってきます:

お手数をおかけしますが、[「discoursereplies+redacted.org」] 宛てのメール(件名:Re: フォーラムスレッドタイトル)は正常に送信されませんでした。

複数のメールアドレスをお使いではありませんか?異なるメールアドレスから返信されていませんか?メールによる返信では、返信時に同じメールアドレスを使用する必要があります。あるいは、メールの Message-ID ヘッダーが変更されている可能性があります。

しかし、複数行・複数文からなる長い返信は正常に送信されます。

したがって、このエラーメッセージは誤っています。

この場合、より適切なエラーメッセージを提供していただけませんか?

最小メッセージ長は設定可能ですか?フォーラム内の返信とメールによる返信で、設定が異なるのでしょうか?

Confused by Error Message From Reply-by-Email に似た事例ですが、別の問題です。

「いいね!」 2

ええと、これ再現できますか @tshenry

再現はすぐにできません。

デフォルトの「投稿最小文字数」が20に設定されている https://try.discourse.org でテストを行いました。

User A で新しいトピックを作成し、User B でそれに応答しました。User A にメールが届き、その後、1語の「Test」という返信をメールで送信しました:

その後すぐに、適切なメッセージを含むメールを受け取りました:

@adrelanos さん、追加の再現手順を提供していただけますか?受信したメッセージが何らかの形で有効だった可能性はありませんか?また、Discourse の最新バージョンを使用していることを確認できますか?

「いいね!」 1

安定ブランチです。2.6.6(テスト完了ブランチではありません)。これで違いが出るでしょうか?

確実に違いが出るかはお伝えできませんが、安定版でバグがあり、それが修正されたものの後方互換版には反映されなかった可能性は常にあります。可能であれば、少なくとも最新のベータ版にアップデートして再度お試しください。

それ以外に、以下の点についてお伺いします。

通常のシナリオで実行しても問題を再現できないため、もう少し詳しい情報が必要です。

「いいね!」 2

以前は以下のトピックで問題が発生していました:https://meta.discourse.org/t/postgresql-13-update/172563、https://meta.discourse.org/t/restore-problem-relation-theme-fields-does-not-exist/95500、https://meta.discourse.org/t/how-to-backup-and-restore-a-whole-var-discourse-app-folder/152598/15。現在は、より安定したブランチ(更新が遅い方)を提供していただき、非常に満足しています。:)

バージョン 2.7 だと推測します。2.7 が安定ブランチにマージされるまで待ち、その後改めて報告します。

さらに再現手順を提供することは可能ですか?

min post length2 に設定されています。

delete rejected email after days はデフォルトの 90 のままです。

自分自身のメッセージに「OK」と返信することは現在機能しています。

他のユーザーのメッセージに「OK」と返信すると、そのユーザーのメッセージが取得されます。

お詫び申し上げますが、メールメッセージ ["discoursereplies+redacted@redacted.redacted"](件名:Re: [redacted] [redacted] redacted)は正常に処理されませんでした。

元の通知への返信は 90 日間のみ受け付けています。会話を続けるには、トピックにアクセス してください。

しかし、そのメッセージはわずか 5 分ほど前のものです。

他のユーザーの投稿に「This is a longer test reply by e-mail. Please ignore.」というテキストでメール返信をすると、何も起こらず、ログにも何も表示されません。拒否メールも受信していません。

受信したメッセージが何らかの理由で有効だった可能性がありますか?

「有効だった」とはどういう意味でしょうか?

これは、サーバーの時刻設定か、インストールに問題があるということでしょうか?これは標準のデフォルトインストールですか?

「いいね!」 2

これは、サーバーのクロックかインストールに問題があることを示唆していますか?

そうは思いません。確認しました。ローカルコンピュータの時刻とサーバーの時刻は、UTC 基準で日付、時刻、分が一致していました。秒数もほぼ同じでした(SSH 経由では正確に計測するのが難しいですが)。

これは標準のデフォルトインストールですか?

はい。Docker によるインストール方法です。推奨から外れたくないので。

Discourse の維持管理に感謝します!

「いいね!」 1

今後のために要約します:

  1. OP の問題は、返信が短すぎたために「post too short」ではなく「bad destination address」のエラー応答が返されたことです。以下の記述は真実ではあり得ません:

    複数のメールアドレスを使用していますか?異なるメールアドレスから返信しましたか?メールでの返信では、返信時に同じメールアドレスを使用する必要があります。あるいは、メールの Message-ID ヘッダーが変更された可能性があります。

  2. 他の例では、ユーザーへの返信が短すぎたため「old destination」エラー応答が返されました:「元の通知に対する返信は 90 日間のみ受け付けています。会話を続けるには トピックにアクセスしてください」。これも真実ではあり得ません。なぜなら、返信しようとした投稿はわずか 5 分前のものであるからです。

どちらの場合も、返信が短すぎたにもかかわらず、誤ったエラーメッセージが送信されました。これは正確でしょうか?

素晴らしいですね!アップデートで問題が解決するか非常に興味があります。もし解決しない場合は、お知らせください。

「いいね!」 1

テイラー(Discourse Meta より):

これは正確でしょうか?

はい。

「いいね!」 1

2.7.3 ではこの問題は発生しなくなりましたが、代わりに現在、以下の問題が発生しています。

  1. 複数のメールアドレスを使用していますか?異なるメールアドレスから返信しましたか?メールでの返信には、返信時に同じメールアドレスを使用する必要があります。あるいは、メールの Message-ID ヘッダーが変更されている可能性があります。

これは、私が返信している投稿の後に他の返信が行われた場合に発生するようです。

この問題のデバッグが難しいため(ユーザーエラー、From ではなく Reply-To への返信——このケースではそうしていません——、メールサーバーの誤動作、あるいは Discourse のバグなど)、デバッグを容易にするための以下の機能リクエストを考えました:

これは、body min entropy のような他の短い投稿の防止策に引っかかっていることを意味します。これは AAAAAAAAAAAAAAAAAAAAAAAAAAAA のような投稿をブロックするためのものであり、カスタムエラーメッセージは用意されていません。

「いいね!」 3

再現手順はありますか?エラーは 100% の確率で再現しますか?

「いいね!」 2

これは Reply with debug info to rejected e-mails の対象となるケースです。

常に再現するわけではありません。今後、メールでの返信を頻繁に利用し、再現手順を特定できることを願っています。
複数の返信が必要でなければメールが拒否されない可能性があります。あるいは、時間の経過に依存しているかもしれません。ただし、disallow reply by email after days はすでに 0 に設定されていますが、古いメッセージほど拒否されやすい傾向があります。

「いいね!」 1