4

スケジュールに基づいて新しいメッセージについてExchange電子メールメールボックスをポーリングする.NETアプリケーションがあります。電子メールメールボックスで新しいメッセージが見つかると、さらに処理が行われます。メールボックスで自動返信メッセージを受信したときの処理で問題が発生しました(自動返信ルール、不在メッセージなど)。

Exchangeメールアイテムが自動返信メッセージであるかどうかを判断するには、C#ソリューションが必要です。メッセージが自動応答メッセージであるかどうかを示す属性がメールアイテムにありますか?

4

4 に答える 4

3

ヘッダーの存在を探します。

X-Auto-Response-Suppress

これは、Exchange が自動メッセージに追加するフラグで、他の自動メッセージがトリガーされないようにします。それはあなたの正確なユースケースのように聞こえます。設定できる特定のフラグがありますが、私の場合、どのフラグが設定されていても返信を送信しませんでした。

于 2015-06-17T19:57:38.380 に答える
0

この問題にしばらく苦労した後、可能な限り最も単純なアプローチを使用することにしました。

Exchange 2007 で使用できる Exchange Web サービス (exchange.asmx) を使用して、処理ロジックを続行する前に、各メール アイテムの件名に「不在」が含まれているかどうかを確認することにしました。私が扱っていたメッセージはすべて、「不在」という件名の自動返信メッセージでした。

将来的に説明しなければならない「不在」がない自動応答メッセージの追加の使用例に出くわすことは間違いありません。その時点で、可能性のある件名行の配列に対して件名行をチェックするようにコードを変更するか、自動返信メッセージを示すメール アイテムの追加属性を検索し続けます。

追加の属性がメール アイテムのヘッダーの "Return-Path:" 値であることは確かですが、その属性を取得する簡単な方法は見つかりませんでした。私が知る限り、「Return-Path」の値が「<>」の場合、それは自動返信メッセージであり、それ以外の場合は有効な電子メール アドレスになります。

于 2010-09-14T17:15:36.700 に答える
0

自動応答情報はヘッダーの一部を形成し、場合によっては件名と本文を形成します。それはすべて、自動応答を行ったサーバーに依存します。

私は個人的にサードパーティのコンポーネントを使用して、メールの解析を支援しています。それはListNannyと呼ばれます。

パーサー エンジンと定義ファイルがあり、ハード バウンスとソフト バウンス、ChallengeVerification、DnsError 電子メールなど、いくつかの追加の NDR タイプを支援できます。

ListNanny を使用して「Unknown」タイプが返された場合、それは正しいメールであると想定します

お役に立てれば

編集:

コメントのあと。もう 1 つの提案は、いくつかの異なる種類の自動応答メッセージを生成することです。

そこから、電子メールのヘッダーを手動で表示し、それが自動応答メッセージ (通常のメッセージには表示されない) であることを示す可能性のあるエントリを見つけ、電子メールにこれらの自動のいずれかが含まれている場合に独自の電子メール パーサーを記述します。 「署名」と応答し、そのようにフラグを立てます。

私が言えることは、最初はおそらく多くの偽陽性、または陽性-偽の電子メールがあるでしょうが、これはしばらくすると改善され、より多くの電子メールを処理して署名を洗練させると改善されます. .

申し訳ありませんが、コード サンプルやその他のアイデアを提供するのにこれ以上の支援はできませんでした。

于 2010-06-30T04:24:01.497 に答える