C#의 MS Exchange Server에서 대화 작업

Microsoft Exchange Server의 대화를 스레드의 이메일 메시지 그룹이라고 합니다. 간단히 말해서 이메일과 그에 대한 모든 답장은 대화라고 알려져 있습니다. 이 기사에서는 프로그래밍 방식으로 MS Exchange Server에서 대화를 사용하는 방법을 보여줍니다. 특히 C# .NET의 MS Exchange Server에서 대화를 찾고, 복사하고, 이동하고, 삭제하는 방법을 배웁니다.

MS Exchange Server에서 대화 작업을 위한 C# .NET API

Microsoft Exchange Server에서 대화를 관리하기 위해 Aspose.Email for .NET을 사용합니다. 이메일 클라이언트 애플리케이션을 구현하기 위한 다양한 기능을 제공하는 강력한 API입니다. 또한 MS Exchange Server의 다양한 서비스에 원활하게 액세스할 수 있습니다. 다음 명령을 사용하여 API의 DLL을 다운로드하거나 NuGet에서 설치할 수 있습니다.

PM> Install-Package Aspose.Email

C#의 MS Exchange Server에서 대화 찾기

다음은 C#의 MS Exchange Server 폴더에서 대화를 찾는 단계입니다.

다음 코드 샘플은 C#에서 MS Exchange Server의 폴더에서 대화를 찾는 방법을 보여줍니다.

string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

// MS Exchange 서버에 연결
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// 받은편지함에서 대화 가져오기
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

// 모든 대화 표시
foreach (ExchangeConversation conversation in conversations)
{
    // Id 및 Topic과 같은 대화 속성 표시
    Console.WriteLine("Topic: " + conversation.ConversationTopic);
    Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
    Console.WriteLine();
}

C#의 MS Exchange Server에서 대화 복사

복잡한 코드를 작성하지 않고도 한 폴더에서 다른 폴더로 대화를 복사할 수도 있습니다. 시연을 위해 C# .NET에서 받은 편지함에서 Exchange Server의 지운 편지함 폴더로 대화를 복사하는 방법을 살펴보겠습니다.

다음 코드 샘플은 C# .NET을 사용하여 MS Exchange Server에서 대화를 복사하는 방법을 보여줍니다.

string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

// MS Exchange 서버에 연결
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// 대화 받기
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

foreach (ExchangeConversation conversation in conversations)
{
    Console.WriteLine("Topic: " + conversation.ConversationTopic);

    // 일부 조건에 따라 대화 항목 복사
    if (conversation.ConversationTopic.Contains("test email") == true)
    {
        client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
        Console.WriteLine("Copied the conversation item to another folder");
    }
}

C#의 MS Exchange Server에서 대화 이동

이전 섹션에서는 한 폴더에서 다른 폴더로 대화를 복사했습니다. 그러나 경우에 따라 대화를 특정 폴더로 이동해야 할 수도 있습니다. 다음은 C# .NET의 MS Exchange Server에서 대화를 이동하는 단계입니다.

다음 코드 샘플은 C# .NET을 사용하여 MS Exchange Server에서 대화를 이동하는 방법을 보여줍니다.

string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

// MS Exchange 서버에 연결
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// 대화 받기
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

foreach (ExchangeConversation conversation in conversations)
{
    Console.WriteLine("Topic: " + conversation.ConversationTopic);

    // 특정 조건에 따라 대화 항목 이동
    if (conversation.ConversationTopic.Contains("test email") == true)
    {
        client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
        Console.WriteLine("Moved the conversation item to another folder");
    }
}

C#의 MS Exchange Server에서 대화 삭제

마지막으로 C#의 MS Exchange Server에서 대화를 삭제하는 방법을 살펴보겠습니다.

다음 코드 샘플은 C# .NET의 MS Exchange Server에서 대화를 삭제하는 방법을 보여줍니다.

string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

// MS Exchange 서버에 연결
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// 대화 받기
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

foreach (ExchangeConversation conversation in conversations)
{
    Console.WriteLine("Topic: " + conversation.ConversationTopic);

    // 특정 조건에 따라 대화 항목 삭제
    if (conversation.ConversationTopic.Contains("test email") == true)
    {
        client.DeleteConversationItems(conversation.ConversationId);
        Console.WriteLine("Deleted the conversation item");
    }
}

무료 API 라이선스 받기

평가 제한 없이 Aspose.Email for .NET을 사용할 수 있는 무료 임시 라이선스를 얻을 수 있습니다.

결론

이 문서에서는 C#을 사용하여 Microsoft Exchange Server에서 대화를 관리하는 방법을 배웠습니다. C#에서 프로그래밍 방식으로 MS Exchange Server에서 대화를 찾고, 복사하고, 이동하고, 삭제하는 방법을 살펴보았습니다. 또한 문서를 탐색하여 .NET용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.

또한보십시오