在使用 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 上創建收件箱規則的步驟。
- 首先,連接到 Exchange Server 並將 EWS 客戶端的實例放入 IEWSClient 對像中。
- 然後,創建一個 InboxRule 類的對象。
- 使用 InboxRule.setDisplayName() 方法設置規則的名稱。
- 創建 RulePredicates 類的實例並指定條件。
- 使用 InboxRule.setConditions() 方法分配 RulePredicates 實例。
- 創建 RuleActions 類的實例並設置操作。
- 使用 InboxRule.setActions() 方法分配 RuleAction 實例。
- 最後,調用 IEWSClient.createInboxRule(InboxRule) 創建規則。
以下代碼示例顯示如何使用 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 上現有收件箱規則的步驟。
- 首先,連接到 Exchange Server 並將 EWS 客戶端的實例放入 IEWSClient 對像中。
- 然後,調用 IEWSClient.getInboxRules() 方法獲取 InboxRule 數組中的所有規則。
- 遍歷數組中的每個 InboxRule。
- 根據某些條件過濾所需的規則。
- 更新規則的條件或操作。
- 最後調用IEWSClient.updateInboxRule(InboxRule)方法更新收件箱規則。
以下代碼示例顯示瞭如何使用 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 的特性。另外,如果您有任何問題,可以發帖到我們的論壇。