ایجاد و حذف پوشه ها در سرور MS Exchange در سی شارپ

در Microsoft Exchange Server، ایمیل‌ها در پوشه‌های مختلفی مانند صندوق ورودی، صندوق خروجی و غیره سازماندهی می‌شوند. همچنین، می‌توانید پوشه‌ها یا زیرپوشه‌های خود را بر اساس نیاز خود ایجاد کنید. هنگام کار با MS Exchange Server، ممکن است لازم باشد پوشه های سفارشی را به صورت برنامه ریزی شده ایجاد کنید. در این مقاله نحوه ایجاد پوشه ها یا زیرپوشه ها با EWS در MS Exchange Server در C#.NET را یاد خواهید گرفت. همچنین نحوه حذف یک پوشه در Exchange Server را توضیح خواهیم داد.

C# .NET API برای ایجاد پوشه ها در MS Exchange Server

برای مدیریت پوشه‌ها با EWS در MS Exchange Server، از Aspose.Email for .NET استفاده می‌کنیم. API کار با سرویس‌های Exchange Server را از داخل برنامه‌های NET بسیار آسان‌تر می‌کند. می توانید DLL API را دانلود یا با استفاده از دستور زیر از NuGet نصب کنید.

PM> Install-Package Aspose.Email

ایجاد یک پوشه در سرور MS Exchange در سی شارپ

مراحل زیر برای ایجاد یک پوشه در MS Exchange Server در سی شارپ است.

  • به 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 Server در سی شارپ

برای ایجاد یک زیرپوشه، ابتدا باید بررسی کنید که آیا پوشه والد وجود دارد یا خیر. اگر این کار را کرد، به سادگی زیرپوشه را ایجاد کنید، در غیر این صورت ابتدا پوشه والد را ایجاد کنید. مراحل زیر نحوه ایجاد یک زیرپوشه در MS Exchange Server در سی شارپ را نشان می دهد.

نمونه کد زیر نحوه ایجاد یک زیرپوشه در MS Exchange Server در سی شارپ را نشان می دهد.

// با دادن اعتبارنامه، نمونه ای از کلاس 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 در سی شارپ

مراحل زیر برای حذف یک پوشه در MS Exchange Server در سی شارپ است.

نمونه کد زیر نحوه حذف یک پوشه در MS Exchange Server در سی شارپ را نشان می دهد.

// با دادن اعتبارنامه، نمونه ای از کلاس 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 برای دات نت بدون محدودیت ارزیابی، مجوز موقت رایگان دریافت کنید.

نتیجه

در این مقاله نحوه کار با پوشه ها در Microsoft Exchange Server با EWS در سی شارپ را یاد گرفتید. با کمک نمونه کد، نحوه ایجاد و حذف یک پوشه خاص در MS Exchange Server را به صورت برنامه نویسی در سی شارپ مشاهده کرده اید. علاوه بر این، می‌توانید [اسناد14 را بررسی کنید تا درباره Aspose.Email برای دات‌نت اطلاعات بیشتری کسب کنید. همچنین، می‌توانید سؤالات خود را از طریق [تالار گفتمان15 ما بپرسید.

همچنین ببینید