Чтение электронной почты с сервера MS Exchange с помощью С#

Microsoft Exchange Server — это платформа, которая позволяет вам управлять контактами, электронной почтой, календарями, расписаниями и предоставляет несколько функций для совместной работы. С MS Exchange Server вы можете развернуть свой собственный почтовый сервер, не полагаясь на третьи стороны. Доступ к MS Exchange Server также можно получить из веб-приложений, настольных или мобильных приложений через веб-службы. Таким образом, вы можете выполнять операции по рассылке и каландрированию в своих приложениях. В этой статье вы узнаете, как подключиться к серверу Exchange и читать электронную почту с помощью C#.

C# API сервера Exchange — скачать бесплатно

Aspose.Email для .NET предоставляет простой в использовании API для работы с MS Exchange Server. Он позволяет подключаться к почтовому серверу с помощью веб-службы Exchange (EWS) или протокола доступа к сообщениям в Интернете (IMAP). После подключения вы можете получить доступ к элементам в почтовом ящике за несколько шагов. Вы можете установить Aspose.Email для .NET через NuGet или скачать его DLL.

PM> Install-Package Aspose.Email

Подключиться к серверу Exchange с помощью C#

Aspose.Email для .NET предоставляет два способа подключения к экземпляру Exchange Server: EWS и IMAP. В следующих разделах приведены шаги по установке соединения любым из способов.

Подключиться к серверу Exchange через EWS

Ниже приведены шаги для подключения к серверу MS Exchange с помощью Aspose.Email для .NET.

  • Используйте класс NetworkCredential для установки учетных данных, включая имя пользователя, пароль и домен.
  • Получите объект IEWSClient, возвращенный методом EWSClient.GetEWSClient(String, ICredentials).
  • Используйте объект IEWSClient для выполнения дальнейших операций.

В следующем примере кода показано, как подключиться к Exchange Server через EWS с помощью C#.

// Полные примеры и файлы данных см. на странице 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;
}

Подключиться к серверу Exchange через IMAP

Чтобы подключиться к серверу Exchange через IMAP, убедитесь, что на вашем сервере включены службы IMAP. После этого выполните следующие шаги, чтобы подключиться к серверу Exchange.

  • Создайте экземпляр класса ImapClient и укажите хост, имя пользователя и пароль для его конструктора.
  • Задайте параметры безопасности с помощью свойства ImapClient.SecurityOptions.
  • Доступ к элементам в почтовом ящике с помощью объекта ImapClient.

В следующем примере кода показано, как получить доступ к Exchange Server через IMAP с помощью C#.

// Подключиться к Exchange Server с помощью класса ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

Чтение сообщений электронной почты с сервера Exchange с помощью EWS на C#

Ниже приведены шаги для чтения сообщений электронной почты с Exchange Server с помощью EWS.

  • Создайте экземпляр IEWSClient.
  • Используйте метод IEWSClient.ListMessage(String) для доступа к коллекции электронной почты.
  • Прокрутите коллекцию электронной почты, чтобы получить подробную информацию о каждом сообщении электронной почты.

В следующем примере кода показано, как читать электронные письма с Exchange Server на C#.

// Полные примеры и файлы данных см. на странице 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);
}

Чтение писем с Exchange Server по IMAP

Ниже приведены шаги для чтения электронной почты с Exchange Server с использованием IMAP.

  • Создайте экземпляр класса ImapClient и укажите хост, имя пользователя и пароль для его конструктора.
  • Задайте параметры безопасности с помощью свойства ImapClient.SecurityOptions.
  • Выберите папку, такую как «Входящие», «Отправленные» и т. д., используя метод ImapClient.SelectFolder().
  • Используйте метод ImapClient.ListMessages(), чтобы получить коллекцию электронной почты.
  • Прокрутите коллекцию электронной почты, чтобы получить доступ к каждому сообщению.

В следующем примере кода показано, как читать электронные письма с Exchange Server с помощью IMAP.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-email/Aspose.Email-for-.NET.
// Подключиться к Exchange Server с помощью класса ImapClient
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 и читать сообщения электронной почты с помощью C#. Кроме того, в примерах кода показано, как получить доступ к Exchange Server с помощью клиентов EWS и IMAP. Вы можете узнать больше об API электронной почты C#, используя документацию.

Смотрите также