JavaでExchangeServerの受信トレイルールを管理する

Microsoft Exchange Serverのサービスを使用しているときに、受信トレイフォルダーにさまざまなルールを定義する必要がある場合があります。これらのルールは、メッセージをフォルダに移動したり、メッセージを削除したりするなどのメッセージに適用されます。受信トレイルールは、条件と、条件が満たされたときに実行されるアクションで構成されます。この記事では、JavaのMSExchangeServerで受信トレイルールを作成および更新する方法を学習します。

ExchangeServerで受信トレイルールを管理するためのJavaAPI

MS Exchange Serverで受信トレイのルールを操作するには、Aspose.Email for Javaを使用します。 APIは、MS Exchange Serverとシームレスに連携し、そのサービスを管理するように設計されています。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。

リポジトリ:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

依存:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.3</version>
    <classifier>jdk16</classifier>
</dependency>

JavaのExchangeServerで受信トレイルールを作成する

Aspose.Email for Javaは、Exchange Webサービス(EWS)を使用してExchangeServerの受信トレイルールを処理します。以下は、JavaのExchangeServerで受信トレイルールを作成する手順です。

  • まず、Exchange Serverに接続し、EWSクライアントのインスタンスをIEWSClientオブジェクトに取得します。
  • 次に、InboxRuleクラスのオブジェクトを作成します。
  • InboxRule.setDisplayName()メソッドを使用してルールの名前を設定します。
  • RulePredicatesクラスのインスタンスを作成し、条件を指定します。
  • InboxRule.setConditions()メソッドを使用してRulePredicatesインスタンスを割り当てます。
  • RuleActionsクラスのインスタンスを作成し、アクションを設定します。
  • InboxRule.setActions()メソッドを使用してRuleActionインスタンスを割り当てます。
  • 最後に、IEWSClient.createInboxRule(InboxRule)を呼び出してルールを作成します。

次のコードサンプルは、JavaのExchangeServerで受信トレイルールを作成する方法を示しています。

// ExchangeServerに接続します
IEWSClient client = EWSClient.getEWSClient(mailboxURI, credential);
System.out.println("Connected to Exchange server");

// 新しいルールを作成する
InboxRule rule = new InboxRule();
rule.setDisplayName("Message from client ABC");

// 条件を追加
RulePredicates newRules = new RulePredicates();
// 件名に文字列「ABC」が含まれていることを設定し、条件を追加します
newRules.containsSubjectStrings().addItem("ABC");
newRules.getFromAddresses().addMailAddress(new MailAddress("administrator@ex2010.local", true));
rule.setConditions(newRules);

// アクションを追加し、メッセージをフォルダーに移動します
RuleActions newActions = new RuleActions();
newActions.setMoveToFolder("120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==");
rule.setActions(newActions);

// ルールを作成する
client.createInboxRule(rule);

JavaでExchangeServerの受信トレイルールを更新する

以下は、JavaのExchangeServerで既存の受信トレイルールをフェッチして更新する手順です。

  • まず、Exchange Serverに接続し、EWSクライアントのインスタンスをIEWSClientオブジェクトに取得します。
  • 次に、IEWSClient.getInboxRules()メソッドを呼び出して、InboxRule配列内のすべてのルールを取得します。
  • 配列内の各InboxRuleをループします。
  • いくつかの条件に基づいて、必要なルールをフィルタリングします。
  • ルールの条件またはアクションを更新します。
  • 最後に、IEWSClient.updateInboxRule(InboxRule)メソッドを呼び出して、受信ボックスルールを更新します。

次のコードサンプルは、JavaのMSExchangeServerで受信トレイルールを更新する方法を示しています。

// ExchangeServerに接続します
IEWSClient client = EWSClient.getEWSClient(mailboxURI, credential);
System.out.println("Connected to Exchange server");

// すべての受信トレイルールを取得する
InboxRule[] inboxRules = client.getInboxRules();

// 各ルールをループする
for (InboxRule inboxRule : inboxRules) {
    if ("Message from client ABC".equals(inboxRule.getDisplayName())) {
        // ルールの更新
        inboxRule.getConditions().getFromAddresses().set_Item(0, new MailAddress("administrator@ex2010.local", true));
        client.updateInboxRule(inboxRule);
    }
}

無料のAPIライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにAspose.EmailforJavaを使用できます。

結論

この記事では、Javaアプリケーション内からMicrosoftExchangeServerの受信トレイルールを操作する方法を学習しました。 JavaのExchangeServerで受信トレイルールを追加または更新する方法を見てきました。さらに、ドキュメントを使用して、Aspose.EmailforJavaの機能を調べることができます。また、ご不明な点がございましたら、フォーラムに投稿してください。

関連項目