在 Java 中管理 Exchange Server 上的收件箱規則

在使用 Microsoft Exchange Server 的服務時,您可能需要為收件箱文件夾定義不同的規則。這些規則應用於消息,例如將消息移動到文件夾、刪除消息等。收件箱規則由條件和滿足條件時要執行的操作組成。在本文中,您將了解如何使用 Java 在 MS Exchange Server 上創建和更新收件箱規則。

用於管理 Exchange 服務器上的收件箱規則的 Java API

要在 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 在 Exchange Server 上創建收件箱規則

Aspose.Email for Java 使用 Exchange Web Services (EWS) 來處理 Exchange Server 上的收件箱規則。以下是使用 Java 在 Exchange Server 上創建收件箱規則的步驟。

以下代碼示例顯示如何使用 Java 在 Exchange Server 上創建收件箱規則。

// 連接到 Exchange 服務器
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 中更新 Exchange Server 上的收件箱規則

以下是使用 Java 獲取和更新 Exchange Server 上現有收件箱規則的步驟。

以下代碼示例顯示瞭如何使用 Java 更新 MS Exchange Server 上的收件箱規則。

// 連接到 Exchange 服務器
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.Email for Java,沒有評估限制。

結論

在本文中,您了解瞭如何在 Java 應用程序中使用 Microsoft Exchange Server 上的收件箱規則。您已經了解瞭如何使用 Java 在 Exchange Server 上添加或更新收件箱規則。此外,您可以使用文檔探索Aspose.Email for Java 的特性。另外,如果您有任何問題,可以發帖到我們的論壇

也可以看看