Керування правилами папки на сервері Exchange у C#

Microsoft Exchange Server дозволяє визначати різні правила для папки «Вхідні», які застосовуються до повідомлень, як-от переміщення повідомлення до папки, видалення повідомлення тощо. Під час роботи зі службами Exchange із програм .NET , вам може знадобитися керувати правилами папки “Вхідні” програмно. У цій статті ви дізнаєтеся, як створювати й оновлювати правила папки “Вхідні” на сервері MS Exchange у C# .NET.

C# API для створення та оновлення правил папки “Вхідні” на сервері Exchange Server

Щоб створити та оновити правила папки “Вхідні” на сервері MS Exchange, ми будемо використовувати Aspose.Email for .NET. API значно полегшує бездоганну роботу з MS Exchange Server. Ви можете завантажити DLL API або встановити його з NuGet за допомогою такої команди.

PM> Install-Package Aspose.Email

Створення правил папки “Вхідні” на сервері Exchange у C#

Aspose.Email for .NET використовує веб-служби Exchange (EWS) для роботи з правилами вхідних повідомлень на сервері Exchange Server. Нижче наведено кроки для створення правил папки “Вхідні” на сервері Exchange у C#.

  • Спочатку підключіться до Exchange Server і перемістіть екземпляр клієнта EWS в об’єкт IEWSClient.
  • Потім створіть об’єкт класу InboxRule.
  • Встановіть назву правила за допомогою властивості InboxRule.DisplayName.
  • Створіть екземпляр класу RulePredicates і вкажіть умови.
  • Призначте екземпляр RulePredicates властивості InboxRule.Conditions.
  • Створіть екземпляр класу RuleActions і встановіть дії.
  • Призначте екземпляр RuleAction властивості InboxRule.Actions.
  • Нарешті, викличте IEWSClient.CreateInboxRule(InboxRule), щоб створити правило.

У наведеному нижче прикладі коду показано, як створити правило папки “Вхідні” на сервері Exchange Server у C#.

// Встановіть URL-адресу веб-служби Exchange Server, ім’я користувача, пароль і домен
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Підключіться до сервера Exchange
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");

// Створіть нове правило
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";

// Додайте умови
RulePredicates newRules = new RulePredicates();
// Встановити умову: тема містить рядок "ABC"
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;

// Додайте дії
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;

// Створити правило
client.CreateInboxRule(rule);

Оновіть правила папки “Вхідні” на сервері Exchange у C#

Нижче наведено кроки для отримання та оновлення існуючого правила папки “Вхідні” на сервері Exchange у C#.

  • Спочатку підключіться до Exchange Server і перемістіть екземпляр клієнта EWS в об’єкт IEWSClient.
  • Потім викличте метод IEWSClient.GetInboxRules(), щоб отримати всі правила в масиві InboxRule.
  • Перегляньте кожне InboxRule у масиві.
  • Фільтруйте необхідні правила на основі деяких умов.
  • Оновіть умови або дії правила.
  • Нарешті, викличте метод IEWSClient.UpdateInboxRule(InboxRule), щоб оновити правило папки “Вхідні”.

У наведеному нижче прикладі коду показано, як оновити правило папки “Вхідні” на сервері MS Exchange у C#.

// Установіть URI поштової скриньки, ім’я користувача, пароль і домен
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Підключіться до сервера Exchange
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);

Console.WriteLine("Connected to Exchange server");

// Отримайте всі правила папки "Вхідні".
InboxRule[] inboxRules = client.GetInboxRules();

// Перегляньте кожне правило
foreach (InboxRule inboxRule in inboxRules)
{
    if (inboxRule.DisplayName == "Message from client ABC")
    {
        // Правило оновлення
        inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
        client.UpdateInboxRule(inboxRule);
    }
}

C# API для керування правилами папки “Вхідні” на сервері Exchange Server – отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію для керування правилами папки вхідних повідомлень на сервері MS Exchanger без обмежень щодо оцінки.

Висновок

У цій статті ви дізналися, як працювати з правилами папки “Вхідні” на сервері Microsoft Exchange Server із програм .NET. За допомогою прикладів коду ви побачили, як додати або оновити правила папки “Вхідні” на сервері Exchange Server у C#. Крім того, ви можете переглянути документацію, щоб дізнатися більше про Aspose.Email for .NET. Крім того, ви можете опублікувати свої запити на нашому форумі.

Дивись також