C#의 MS Exchange Server에서 폴더 생성 및 삭제

Microsoft Exchange Server에서 이메일은 받은 편지함, 보낼 편지함 등과 같은 다른 폴더에 구성되어 있습니다. 또한 필요에 따라 고유한 폴더 또는 하위 폴더를 만들 수 있습니다. MS Exchange Server로 작업하는 동안 프로그래밍 방식으로 사용자 지정 폴더를 만들어야 할 수도 있습니다. 이 기사에서는 C# .NET의 MS Exchange Server에서 EWS를 사용하여 폴더 또는 하위 폴더를 만드는 방법을 배웁니다. 또한 Exchange Server에서 폴더를 삭제하는 방법에 대해서도 설명합니다.

MS Exchange Server에서 폴더를 만드는 C# .NET API

MS Exchange Server에서 EWS로 폴더를 관리하기 위해 Aspose.Email for .NET을 사용합니다. API를 사용하면 .NET 응용 프로그램 내에서 Exchange Server의 서비스로 작업하기가 훨씬 쉬워집니다. 다음 명령을 사용하여 API의 DLL을 다운로드하거나 NuGet에서 설치할 수 있습니다.

PM> Install-Package Aspose.Email

C#에서 MS Exchange Server에 폴더 만들기

다음은 C#에서 MS Exchange Server에 폴더를 만드는 단계입니다.

  • MS Exchange Server에 연결하고 IEWSClient에서 EWS 클라이언트 개체를 가져옵니다.
  • 루트 폴더의 이름과 생성하려는 폴더를 지정합니다.
  • IEWSClient.CreateFolder(string, string) 메소드를 사용하여 폴더를 생성합니다.

다음 코드 샘플은 C#에서 EWS를 사용하여 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";

try
{
    // 폴더 생성
    client.UseSlashAsFolderSeparator = true;
    client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
    // 뭔가 해
}

C#에서 MS Exchange Server에 하위 폴더 만들기

하위 폴더를 만들려면 먼저 상위 폴더가 있는지 확인해야 합니다. 그렇다면 하위 폴더를 생성하고, 그렇지 않으면 상위 폴더를 먼저 생성합니다. 다음 단계에서는 C#의 MS Exchange Server에 하위 폴더를 만드는 방법을 보여줍니다.

다음 코드 샘플은 C#에서 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
{
    // 뭔가 해
}

C#에서 MS Exchange Server의 폴더 삭제

다음은 C#에서 MS Exchange Server의 폴더를 삭제하는 단계입니다.

다음 코드 샘플은 C#에서 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 for .NET을 사용할 수 있는 무료 임시 라이선스를 얻을 수 있습니다.

결론

이 문서에서는 C#에서 EWS를 사용하여 Microsoft Exchange Server의 폴더로 작업하는 방법을 배웠습니다. 코드 샘플을 통해 C#에서 프로그래밍 방식으로 MS Exchange Server의 특정 폴더를 만들고 삭제하는 방법을 살펴보았습니다. 또한 문서를 탐색하여 .NET용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.

또한보십시오