C#을 사용하여 MS Exchange Server에서 이메일 읽기

Microsoft Exchange Server는 연락처, 이메일, 캘린더, 일정을 관리하고 여러 협업 기능을 제공하는 플랫폼입니다. MS Exchange Server를 사용하면 타사에 의존하지 않고 자신의 메일 서버를 배포할 수 있습니다. MS Exchange Server는 웹 서비스를 통해 웹, 데스크톱 또는 모바일 응용 프로그램 내에서 액세스할 수도 있습니다. 따라서 애플리케이션에서 메일링 및 캘린더링 작업을 수행할 수 있습니다. 이 기사에서는 C#를 사용하여 Exchange Server에 연결하고 이메일을 읽는 방법을 배우게 됩니다.

C# Exchange Server API - 무료 다운로드

Aspose.Email for .NET은 MS Exchange Server와 연동하기 위해 사용하기 쉬운 API를 제공합니다. EWS(Exchange Web Service) 또는 IMAP(Internet Message Access Protocol)를 사용하여 메일 서버에 연결할 수 있습니다. 연결되면 몇 단계 만에 사서함의 항목에 액세스할 수 있습니다. NuGet 또는 다운로드 DLL을 통해 .NET용 Aspose.Email을 설치할 수 있습니다.

PM> Install-Package Aspose.Email

C#을 사용하여 Exchange 서버에 연결

.NET용 Aspose.Email은 Exchange Server 인스턴스에 연결하는 두 가지 방법(EWS 및 IMAP)을 제공합니다. 다음 섹션에서는 두 가지 방법 중 하나를 사용하여 연결을 설정하는 방법의 단계를 제공합니다.

EWS를 통해 Exchange 서버에 연결

다음은 .NET용 Aspose.Email을 사용하여 MS Exchange Server에 연결하는 단계입니다.

다음 코드 샘플은 C#을 사용하여 EWS를 통해 Exchange Server에 연결하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-email/Aspose.Email-for-.NET으로 이동하십시오.
private static IEWSClient GetExchangeEWSClient()
{
    const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
    const string domain = @"";
    const string username = @"username@ASE305.onmicrosoft.com";
    const string password = @"password";
    NetworkCredential credentials = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
    return client;
}

IMAP을 통해 Exchange 서버에 연결

IMAP을 통해 Exchange Server에 연결하려면 서버에서 IMAP 서비스가 활성화되어 있는지 확인하십시오. 완료되면 아래 단계에 따라 Exchange Server에 연결합니다.

  • ImapClient 클래스의 인스턴스를 만들고 해당 생성자에 호스트, 사용자 이름 및 암호를 제공합니다.
  • ImapClient.SecurityOptions 속성을 사용하여 보안 옵션을 설정합니다.
  • ImapClient 개체를 사용하여 사서함의 항목에 액세스합니다.

다음 코드 샘플은 C#을 사용하여 IMAP을 통해 Exchange Server에 액세스하는 방법을 보여줍니다.

// ImapClient 클래스를 사용하여 Exchange Server에 연결
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

C#에서 EWS를 사용하여 Exchange Server에서 이메일 읽기

다음은 EWS를 사용하여 Exchange Server에서 전자 메일 메시지를 읽는 단계입니다.

  • IEWSClient의 인스턴스를 만듭니다.
  • IEWSClient.ListMessage(String) 메서드를 사용하여 이메일 컬렉션에 액세스합니다.
  • 각 이메일 메시지의 세부 정보를 얻으려면 이메일 컬렉션을 반복합니다.

다음 코드 샘플은 C#에서 Exchange Server의 전자 메일을 읽는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-email/Aspose.Email-for-.NET으로 이동하십시오.
// 자격 증명을 제공하여 ExchangeWebServiceClient 클래스의 인스턴스 만들기
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// ListMessages 메서드를 호출하여 받은 편지함의 메시지 정보를 나열합니다.
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// 컬렉션을 반복하여 기본 정보를 표시합니다.
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine("Subject: " + msgInfo.Subject);
    Console.WriteLine("From: " + msgInfo.From.ToString());
    Console.WriteLine("To: " + msgInfo.To.ToString());
    Console.WriteLine("Message ID: " + msgInfo.MessageId);
    Console.WriteLine("Unique URI: " + msgInfo.UniqueUri);
}

IMAP을 사용하여 Exchange 서버에서 이메일 읽기

다음은 IMAP을 사용하여 Exchange Server에서 이메일을 읽는 단계입니다.

  • ImapClient 클래스의 인스턴스를 만들고 해당 생성자에 호스트, 사용자 이름 및 암호를 제공합니다.
  • ImapClient.SecurityOptions 속성을 사용하여 보안 옵션을 설정합니다.
  • ImapClient.SelectFolder() 메소드를 사용하여 받은편지함, 보낸편지함 등의 폴더를 선택합니다.
  • ImapClient.ListMessages() 메서드를 사용하여 이메일 컬렉션을 가져옵니다.
  • 각 메시지에 액세스하려면 이메일 컬렉션을 반복합니다.

다음 코드 샘플은 IMAP을 사용하여 Exchange Server에서 이메일을 읽는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-email/Aspose.Email-for-.NET으로 이동하십시오.
// ImapClient 클래스를 사용하여 Exchange Server에 연결
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// 받은 편지함 폴더 선택
imapClient.SelectFolder(ImapFolderInfo.InBox);

// 메시지 목록 가져오기
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// 서버에서 연결 해제
imapClient.Dispose();

무료 API 라이선스 받기

평가 제한 없이 API를 무료로 사용해 볼 수 있습니다. 무료 임시 라이센스 받기 지금.

라이브 데모

결론

이 문서에서는 MS Exchange Server에 연결하고 C#을 사용하여 전자 메일 메시지를 읽는 방법을 배웠습니다. 또한 코드 샘플은 EWS 및 IMAP 클라이언트를 사용하여 Exchange Server에 액세스하는 방법을 보여줍니다. 문서를 사용하여 C# 이메일 API에 대해 자세히 알아볼 수 있습니다.

또한보십시오