Чтение писем из общего почтового ящика на сервере Exchange на С#

Microsoft Exchange Server предоставляет множество полезных функций для создания, отправки и управления электронной почтой. Одной из таких функций является общий почтовый ящик, к которому могут получить доступ несколько пользователей. При работе с MS Exchange Server из приложений .NET вам может потребоваться доступ к электронной почте из общего почтового ящика. Итак, в этой статье вы узнаете, как читать сообщения электронной почты из общего почтового ящика на сервере MS Exchange с помощью C# .NET.

С# .NET API для чтения писем из общего почтового ящика на сервере Exchange

Aspose.Email для .NET — это API обработки электронной почты, предоставляющий ряд функций для создания, отправки и обработки электронных писем. Кроме того, он позволяет работать с MS Outlook и Exchange Server без написания сложного кода. Мы будем использовать этот API для чтения электронных писем из общих почтовых ящиков на сервере MS Exchange. Вы можете либо скачать библиотеку DLL API, либо установить ее из NuGet с помощью следующей команды.

PM> Install-Package Aspose.Email

Чтение писем из общего почтового ящика на сервере Exchange в C#

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

  • Укажите сетевые учетные данные.
  • Подключитесь к Exchange Server и получите экземпляр клиента EWS в объект IEWSClient.
  • Получите электронные письма в массив из нужной папки, используя метод IEWSClient.ListItems(String, String).
  • Прокрутите каждое электронное письмо в массиве и выполните следующие шаги:
    • Извлеките каждое сообщение в объект MapiMessage с помощью метода IEWSClient.FetchItem(String).
    • Прочитайте детали сообщения, используя объект MapiMessage, такой как свойство MapiMessage.Subject.

В следующем примере кода показано, как читать сообщения электронной почты из общего почтового ящика на сервере MS Exchange на C#.

const string mailboxUri = "<HOST>";
const string domain = "";
const string username = "<EMAIL ADDRESS>";
const string password = "<PASSWORD>";
const string sharedEmail = "<SHARED EMAIL ADDRESS>";

// Учетные данные для настройки
NetworkCredential credentials = new NetworkCredential(username, password, domain);

// Подключиться к серверу
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);

// Получить элементы электронной почты
string[] items = client.ListItems(sharedEmail, "Inbox");

// Просматривайте электронные письма и извлекайте каждое сообщение
foreach (string item in items)
{
    MapiMessage msg = client.FetchItem(item);
    Console.WriteLine("Subject:" + msg.Subject);
}

client.Dispose();

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию для использования Aspose.Email для .NET без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как читать сообщения электронной почты из общего почтового ящика на сервере Microsoft Exchange на C#. Чтобы интегрировать эту функцию в свои приложения .NET, вы можете просто установить API и использовать предоставленный пример кода. Кроме того, вы можете прочитать о других функциях Aspose.Email для .NET в документации. Также вы можете задать свои вопросы на нашем форуме.

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