Email 处理控件Aspose.Email 教程(11):用 Java 管理 Exchange Server 上的收件箱规则

(一) 用于管理 Exchange Server 上的收件箱规则的 Java API

要在 MS Exchange Server 上使用收件箱规则,我们将使用Aspose.Email for Java。该 API 旨在与 MS Exchange Server 无缝协作并管理其服务。您可以 下载 API 或使用以下 Maven 配置安装它。

Repository:

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

Dependency:

<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 上创建收件箱规则的步骤。

  • 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
  • 然后,创建一个InboxRule类的对象。
  • 使用InboxRule.setDisplaName()方法设置规则的名称。
  • 创建类的实例并指定条件。
  • 使用InboxRule.setConditions()方法分配RulePredicates实例。
  • 创RulePredicates建RuleActions类的实例并设置操作。
  • 使用InboxRule.setActions()方法分配RuleAction实例。
  • 最后,调用IEWSClient.createInboxRule(InboxRule)来创建规则。

以下代码示例显示了如何在 Java 中在 Exchange Server 上创建收件箱规则 。

// Connect to Exchange ServerIEWSClient client = EWSClient.getEWSClient(mailboxURI, credential);System.out.println("Connected to Exchange server");// Create a new ruleInboxRule rule = new InboxRule();rule.setDisplayName("Message from client ABC");// Add conditionsRulePredicates newRules = new RulePredicates();// Set Subject contains string "ABC" and Add the conditionsnewRules.containsSubjectStrings().addItem("ABC");newRules.getFromAddresses().addMailAddress(new MailAddress("administrator@ex2010.local", true));rule.setConditions(newRules);// Add actions and Move the message to a folderRuleActions newActions = new RuleActions();newActions.setMoveToFolder("120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==");rule.setActions(newActions);// Create ruleclient.createInboxRule(rule);

(三) 用 Java 更新 Exchange Server 上的收件箱规则

以下是在 Java 中获取和更新 Exchange Server 上现有收件箱规则的步骤。

  • 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
  • 然后,调用 IEWSClient.getInboxRules() 方法获取InboxRule数组中的所有规则。
  • 循环遍历数组中的每个InboxRule
  • 根据某些条件过滤所需的规则。
  • 更新规则的条件或操作。
  • 最后,调用IEWSClient.updateInboxRule(InboxRule)方法更新收件箱规则。

以下代码示例显示了如何在 Java 中更新 MS Exchange Server 上的收件箱规则。

// Connect to Exchange ServerIEWSClient client = EWSClient.getEWSClient(mailboxURI, credential);System.out.println("Connected to Exchange server");// Get all inbox rulesInboxRule[] inboxRules = client.getInboxRules();// Loop through each rulefor (InboxRule inboxRule : inboxRules) {if ("Message from client ABC".equals(inboxRule.getDisplayName())) {// Update ruleinboxRule.getConditions().getFromAddresses().set_Item(0, new MailAddress("administrator@ex2010.local", true));client.updateInboxRule(inboxRule);}}

结论


欢迎下载|体验更多Aspose产品 

获取更多信息请咨询在线客服 或 加入Aspose技术交流群(
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月17日
下一篇 2022年3月17日

相关推荐

发表回复

登录后才能评论