Exchange での受信トレイの管理と EWS
受信トレイのルールと受信拒否リストを使用して、EWS Mマネージ API または EWS アプリケーションで受信トレイを管理する方法を紹介します。
Exchange メールボックスには、ユーザーが受信メールを自動的に整理できるようになる機能が備わっています。 これらの機能はすべて、ユーザーによる操作なしでサーバー上で動作しますが、さまざまなニーズに対応できます。 EWS マネージ API と EWS では、これらの機能へのアクセスが提供され、ユーザーは自分の受信トレイを管理できるようになります。
表 1. 受信トレイの管理機能
目的 | 使う機能 |
---|---|
特定の条件 (送信者、件名、添付物など) に基づいて、受信メッセージにアクション (別のフォルダーへの移動、削除など) を行う |
受信トレイ ルール |
特定の送信者からのすべての受信メールを削除する |
受信拒否リスト |
受信トレイのルール
現実問題: すべてのメールが同じように作成されているわけではありません。 数年前に参加し、なかなか退会する機会がなかったインターネットのねこ動画の配布リストからのメールが、自分の上司から受け取るメールと同じ数ほどあるとします。 インターネットのねこ動画は面白いですが、配布リストからのメールに使用されるトラフィック量は大きいですし、配布リストからのメールが受信トレイに大量に来るため重要なメッセージを簡単に見失ってしまう恐れがあります。 多くのユーザーは、受信トレイ ルールを使用してそのようなメッセージを減らし、受信トレイをはるかに使いやすい場所にします。 Exchange Web サービス (EWS) を使用すれば、アプリケーションは、制限ルールの機能を有効に活用できます。
EWS マネージ API では、ルールを操作するために ExchangeService.GetInboxRules メソッドと ExchangeService.UpdateInboxRules メソッドが提供されます。 EWS では、ルールを操作するために GetInboxRules 操作と UpdateInboxRules 操作が提供されます。 ただし、EWS マネージ API と EWS には、受信トレイ ルールを操作する場合、次の制限があることにご注意ください。
EWS では、"クライアントのみ" ルール、または Outlook で設定されている "このコンピューターでのみ" 実行されるルールにアクセスしたり、作成したりすることはできません。
EWS を使用して現在の一連のルールを変更するには、Outlook ルールの BLOB が存在する場合、これを削除する必要があります。 これは、ルールの変更に EWS を使用すると、Outlook によって既にオフ (無効) にされていたすべてのルールが削除されることを意味します。
ルールのしくみ
ルール エンジンは、ユーザーのメールボックスに対するゲートキーパーとして機能します。 ユーザーのメールボックスにメッセージが到着すると、受信トレイにメッセージが表示される前に、そのメッセージは、ルールの順序付きリストに対して評価されます。 これは、到着時のみに受信トレイでのみ実行されることにご注意ください。 これらのルールは、条件、アクション、例外の 3 つの部分で構成されます。
ルール エンジンは、ルールの一覧の最上位のルールから開始して、最後のルールに到達するまで次の手順を実行します。
ルールで指定されたすべての条件を満しているかどうかメッセージを確認します。
メッセージがすべての条件を満たしている場合、手順 2 で評価を続行します。
そうでない場合は、ルール エンジンはルール一覧の次のルールを読み込み、手順 1 からやり直します。
ルールで指定されたいずれかの例外を満しているかどうかメッセージを確認します。
メッセージがいずれかの例外を満たしている場合、ルール エンジンはルール一覧の次のルールを読み込み、手順 1 からやり直します。
そうでない場合は、手順 3 で評価が続行されます。
ルールで指定されたアクションをメッセージに実行します。
"以降のルールは処理しない" アクションが指定されると、ルール エンジンはその他のすべてのアクションをメッセージに実行し、メッセージに対するそれ以上のルール評価を行わずに終了します。
"以降のルールは処理しない" アクションを指定しない場合は、ルール エンジンはルール一覧の次のルールを読み込み、手順 1 からやり直します。
ルール エンジンが実行するプロセスを次の図に示します。
図 1.ルール エンジンの概要
ルールの構成要素を理解する
ルールの一部を視覚化する 1 つの方法は、受信メールの整理を任されているユーザーに指示を与えていると想像することです。 "ここに条件>を挿入するメッセージが届いたら、<ここに例外>を<挿入しない限り、ここで>アクションを<挿入します。 各部分を詳しく見てみましょう。
条件
条件 は、ルールを適用する場合について説明します。 ルールの条件は省略できます (ルールがすべての受信メッセージに適用されます) が、普通は受信メッセージのサブセットに適用される条件をルールに設定します。 たとえば、"メッセージが Sadie からの場合" または "メッセージが 'ねこ動画の愛好家' の配布リストに送信される場合" などです。 ルールには複数の条件を指定することができます。 ルールに複数の条件がある場合、ルール エンジンが指定されたアクションを実行するためには、すべての条件が満たされる必要があります。
Actions
アクションは、ルール適用時の動作について説明します。 たとえば、"メッセージを 'ねこ' フォルダーに移動する" または "メッセージを重要度 '低' でマークする" などがあります。 ルールには複数のアクションを指定することができます。 ルールに対して複数のアクションを指定すると、ルールの適用時にすべてのアクションが実行されます。
例外
例外は、条件に指定された基準が満たされた場合でも、ルールを適用しない場合について説明します。 たとえば、"メッセージが自分だけに送信される場合は除く" または "メッセージが母親からの場合を除く" などです。 ルールに複数の例外を指定することができます。 ルールに複数の例外があった場合、いずれかの例外が満たされれば、ルールは適用されません。
例:これらのねこ動画を寄せ集める
ルールを使用してインターネットのねこ動画の配信リストからのトラフィックを削除する方法を見てみましょう。 前提条件は次のとおりです。
これらのメッセージは、"インターネットのねこ動画愛好家" という配布リストに送信されます。
そのうちこれらのメッセージは読みたいのですが、自分の受信トレイをこれらのメッセージで散らかった状態にしたくはありません。 これらのメッセージを "ねこ" というフォルダーに置きたいと考えています。
母親 が一番面白いビデオを送信してくるので、母親がこの配布リストに送信したメッセージはすぐに読みたいと思っています。
このためには、次のようにルール エンジンに指定します。"'インターネットのねこ動画愛好家' 配布リストに送信されるメッセージを受け取ったら、そのメッセージが 母親 からのものではない限り、'ねこ' フォルダーに移動します。"
表 2. ルールの定義
ルールの構成要素 | 値 |
---|---|
条件 |
'インターネットのねこ動画愛好家' 配布リストに送信される |
アクション |
メッセージを'ねこ' フォルダーに移動する、 かつ、以降のルールは処理しない |
例外 |
'母親' から |
注:
"以降のルールは処理しない" は、該当したルールのアクションの 1 つであることに注意してください。 通常、どのルールが特定のメッセージで機能するかについての混乱を避けるため、このアクションを含めることをお勧めします。 ただし、このアクションを省略しルールを適切に順序付ければ、受信メールのより高度な処理を実行できます。 この場合、おそらく、インターネットのねこ動画 メッセージでは、高度な処理をあまり行わないことが安全策です。
このルールの作成後、すぐに新しいメッセージが届きました。 同僚の Hope が配布リストにメッセージを送信しました。 ルール エンジンの機能を頭の中で実行してみると、メッセージがすべての条件を満たし ('インターネットのねこ動画愛好家' に送られ)、かつ例外のいずれも満たさない ('母親' から送信されていない) と、ルールが適用され、メッセージは 'ねこ' フォルダーに移動されます。
次の図は、受信メッセージにルールを適用する方法を示します。
図 2. 受信メッセージがルールによって処理されます。
送信者をブロックする
特定の送信者から [迷惑メール] フォルダーにすべてのメールを移動するルールを作成することもできますが、迷惑メール Email オプションの [受信拒否リスト] を使用してこれを行うこともできます。 ユーザーが使用できるルールの数には制限があるため、ブロックされた送信者リストを使用するのが理にかなっています。 ExchangeService.MarkAsJunk EWS マネージ API メソッドまたは MarkAsJunk EWS 操作を使用して、ブロックされた送信者リストから特定のメール アドレスを追加または削除できます。 EWS がブロックされた送信者リストにアクセスするには、追加または削除する電子メール アドレスからの電子メール メッセージがユーザーのメールボックスに含まれている必要があることに注意してください。