既存のスレッドまたは会話に属​​する電子メールを識別する方法 質問する

既存のスレッドまたは会話に属​​する電子メールを識別する方法 質問する

当社には、電子メールから新しいケースを自動的に作成する社内 .NET ケース管理アプリケーションがあります。重複したケースが作成されないように、元の電子メールに関連する他の電子メールを識別できるようにしたいと考えています。

すべての電子メールではありませんが、多くの電子メールに、便利そうなスレッド インデックス ヘッダーが含まれていることに気づきました。

使用できる簡単なアルゴリズムまたはパッケージを知っている人はいますか?

ベストアンサー1

私の知る限り、すべての電子メール クライアントまたはゲートウェイがすべてのヘッダーを保存または尊重するわけではないため、100% 確実な解決策は存在しません。

ただし、次の方法ではかなり高いヒット率が得られます。

  • すべての電子メール メッセージには、固有の「メッセージ ID」フィールドがあります。これを見つけて、ケースの一部として記録してください。(RFC-822

  • 同じメッセージ ID を持つ 2 つのメッセージを受信した場合、2 番目のメッセージは重複しているため破棄します。

  • 「In-Reply-To」フィールドを確認し、表示される ID が既知のメッセージ ID と一致する場合、電子メールが関連していることがわかります。

  • 「References」ヘッダーと「Original-Message-ID」ヘッダーは同様の意味を持ちます。

システムで電子メールが生成される場合は、返信メールを受け取ったときに検索できるように、件名にケース ID 番号を含めます (例: [ケース番号 20081114-01])。ほとんどのユーザーは返信時に件名を編集しません。

インターネット標準RFC-822RFC-2076そしてRFC-4021さらに読むと役に立つかもしれません。

見逃されるメッセージは常に存在するため (理由は問いません)、ケース管理システムに「重複ケースとしてクローズ」や「重複ケースとマージ」などの関連機能や、重複ケースを簡単に見つけられるツールも必要になるでしょう。

おすすめ記事