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の機能を調べることができます。また、ご不明な点がございましたら、フォーラムに投稿してください。