Получение списка сообщений из папки Входящие почтового ящика Microsoft Exchange Server в Aspose.Email

Чтобы использовать объекты автоматизации Office для Microsoft Outlook, добавьте ссылки на библиотеки Microsoft Office и Microsoft Office Interop для Outlook в проект. Microsoft Office Outlook также должен быть установлен на машине, на которой выполняется код.

VSTO


 // Создание класса Application и получение пространства имен

Outlook.Application outlook = new Outlook.Application();

Outlook.NameSpace ns = outlook.GetNamespace("Mapi");

object _missing = Type.Missing;

ns.Logon(_missing, _missing, false, true);

// Получить информацию о Входящих в объекте типа MAPIFolder

Outlook.MAPIFolder inbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

// Непрочитанные электронные письма

int unread = inbox.UnReadItemCount;

// Отобразить темы электронных писем в папке Входящие

foreach (Outlook.MailItem mail in inbox.Items)

{

	Console.WriteLine(mail.Subject);

}

Aspose.Email

Тем не менее, Microsoft Outlook не нужно устанавливать на машине, где выполняется код. Ссылайтесь на Aspose.Email.dll, чтобы успешно собрать и запустить проект.


 // Создание экземпляра класса ExchangeClient с указанием учетных данных

ExchangeClient client = new ExchangeClient("http://MachineName/exchange/Username",

				"username", "password", "domain");

// Вызов метода ListMessages для получения информации о сообщениях из Входящих

ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Цикл по коллекции для отображения основной информации

foreach (ExchangeMessageInfo msgInfo in msgCollection)

{

	Console.WriteLine("Тема: " + msgInfo.Subject);

	Console.WriteLine("От: " + msgInfo.From.ToString());

	Console.WriteLine("Кому: " + msgInfo.To.ToString());

	Console.WriteLine("ID сообщения: " + msgInfo.MessageId);

	Console.WriteLine("Уникальный URI: " + msgInfo.UniqueUri);

	Console.WriteLine("==================================");

}

Скачать образец кода