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

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

C# .NET API для створення папок на сервері MS Exchange

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

PM> Install-Package Aspose.Email

Створіть папку на сервері MS Exchange у C#

Нижче наведено кроки для створення папки на сервері MS Exchange у C#.

  • Підключіться до MS Exchange Server і отримайте клієнтський об’єкт EWS у IEWSClient.
  • Вкажіть назву кореневої папки та папки, яку потрібно створити.
  • Створіть папку за допомогою методу IEWSClient.CreateFolder(string, string).

У наведеному нижче прикладі коду показано, як створити папку на сервері MS Exchange Server за допомогою EWS у C#.

// Створіть екземпляр класу EWSClient, надавши облікові дані
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Отримати URI папки "Вхідні" (щоб створити папку в папці "Вхідні")
string inbox = client.MailboxInfo.InboxUri;

// Вкажіть назву папки
string folderName1 = "EMAILNET-35054";

try
{
    // Створити папку
    client.UseSlashAsFolderSeparator = true;
    client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
    // Робити щось
}

Створіть вкладену папку на сервері MS Exchange у C#

Щоб створити вкладену папку, спочатку потрібно перевірити, чи існує батьківська папка. Якщо так, просто створіть вкладену папку, інакше спочатку створіть батьківську папку. Наступні кроки демонструють, як створити вкладену папку на сервері MS Exchange у C#.

  • Підключіться до MS Exchange Server і отримайте клієнтський об’єкт EWS у IEWSClient.
  • Вкажіть назву кореневої папки та вкладеної папки.
  • Перевірте, чи існує батьківська папка, використовуючи метод IEWSClient.FolderExists(string, string, ExchangeFolderInfo). Якщо ні, створіть його.
  • Створіть вкладену папку за допомогою методу IEWSClient.CreateFolder(string, string).

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

// Створіть екземпляр класу EWSClient, надавши облікові дані
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Отримати URI папки "Вхідні".
string inbox = client.MailboxInfo.InboxUri;

// Вкажіть назву папки
string folderName1 = "EMAILNET-35054";

// Вкажіть назву вкладеної папки
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;

ExchangeFolderInfo rootFolderInfo = null; 

try
{
    client.UseSlashAsFolderSeparator = true;
    if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Створити папку
        rootFolderInfo = client.CreateFolder(inbox, folderName1);
    }

    // Створити вкладену папку
    client.CreateFolder(inbox, folderName2);
}
catch
{
    // Робити щось
}

Видалення папки на сервері MS Exchange у C#

Нижче наведено кроки для видалення папки на сервері MS Exchange у C#.

У наступному прикладі коду показано, як видалити папку на сервері MS Exchange Server у C#.

// Створіть екземпляр класу EWSClient, надавши облікові дані
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Отримати URI папки "Вхідні".
string inbox = client.MailboxInfo.InboxUri;

// Вкажіть назву папки
string folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{
    // Перевірте, чи існує папка
    if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Видалити папку
        client.DeleteFolder(rootFolderInfo.Uri, true);
    }
}
catch
{
    // Робити щось
}

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію на використання Aspose.Email for .NET без оціночних обмежень.

Висновок

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

Дивись також