Получение списка сообщений из папки Входящие почтового ящика Microsoft Exchange Server в Aspose.Email
Contents
[
Hide
]
Чтобы использовать объекты автоматизации 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("==================================");
}