Управление правилами для папки 'Входящие' на Exchange Server в Java

При использовании служб Microsoft Exchange Server вам может потребоваться определить другие правила для папки «Входящие». Эти правила применяются к сообщениям, таким как перемещение сообщения в папку, удаление сообщения и т. д. Правило для папки «Входящие» состоит из условий и действий, которые должны выполняться при выполнении условий. В этой статье вы узнаете, как создавать и обновлять правила для папки «Входящие» на сервере MS Exchange в Java.

API Java для управления правилами папки “Входящие” на сервере Exchange

Для работы с правилами почтового ящика на сервере MS Exchange мы будем использовать 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>

Создайте правило для папки «Входящие» на Exchange Server в Java

Aspose.Email для Java использует веб-службы Exchange (EWS) для работы с правилами для входящих сообщений на сервере Exchange. Ниже приведены шаги по созданию правила для папки «Входящие» на Exchange Server в Java.

  • Сначала подключитесь к Exchange Server и получите экземпляр клиента EWS в объект IEWSClient.
  • Затем создайте объект класса InboxRule.
  • Задайте имя правила с помощью метода InboxRule.setDisplayName().
  • Создайте экземпляр класса RulePredicates и укажите условия.
  • Назначьте экземпляр RulePredicates с помощью метода InboxRule.setConditions().
  • Создайте экземпляр класса RuleActions и установите действия.
  • Назначьте экземпляр RuleAction, используя метод InboxRule.setActions().
  • Наконец, вызовите IEWSClient.createInboxRule(InboxRule), чтобы создать правило.

В следующем примере кода показано, как создать правило для папки “Входящие” на Exchange Server в Java.

// Подключиться к серверу обмена
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();
// Set Subject содержит строку «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);

Обновите правило для папки «Входящие» на Exchange Server в Java

Ниже приведены шаги для извлечения и обновления существующего правила для папки «Входящие» на сервере Exchange в Java.

  • Сначала подключитесь к Exchange Server и получите экземпляр клиента EWS в объект IEWSClient.
  • Затем вызовите метод IEWSClient.getInboxRules(), чтобы получить все правила в массиве InboxRule.
  • Прокрутите все InboxRule в массиве.
  • Отфильтруйте необходимые правила на основе некоторых условий.
  • Обновите условия или действия правила.
  • Наконец, вызовите метод IEWSClient.updateInboxRule(InboxRule), чтобы обновить правило для папки “Входящие”.

В следующем примере кода показано, как обновить правило для папки “Входящие” на MS Exchange Server в Java.

// Подключиться к серверу обмена
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 для Java без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как работать с правилами для папки «Входящие» на сервере Microsoft Exchange Server из приложений Java. Вы видели, как добавить или обновить правило для папки “Входящие” на Exchange Server в Java. Кроме того, вы можете изучить возможности Aspose.Email для Java с помощью документации. Кроме того, если у вас возникнут вопросы, вы можете задать их на нашем форуме.

Смотрите также