用 Java 管理 Exchange Server 上的收件箱规则

在使用 Microsoft Exchange Server 的服务时,您可能需要为收件箱文件夹定义不同的规则。这些规则适用于邮件,例如将邮件移动到文件夹、删除邮件等。收件箱规则由条件和满足条件时要执行的操作组成。在本文中,您将了解如何使用 Java 在 MS Exchange Server 上创建和更新收件箱规则。

用于管理 Exchange Server 上的收件箱规则的 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 服务 (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 的功能。此外,如果您有任何问题,您可以在我们的 论坛 上发帖。

也可以看看