Получение списка сообщений из папки Inbox почтового ящика Microsoft Exchange Server
Наши советы по миграции показывают, как продукты Aspose можно использовать для улучшения ваших приложений и избавления от зависимости от традиционной автоматизации.
Этот совет по миграции подключается к почтовому ящику Microsoft Exchange Server и получает список сообщений из папки Inbox. Приведённые ниже образцы кода показывают, как использовать Microsoft Office Interop чтобы получить список сообщений перед выполнением того же действия с помощью классов в Aspose.Email Exchange, используя Java.
Использование Microsoft Office Interop
Чтобы использовать объекты автоматизации Office для Microsoft Outlook, добавьте ссылки на библиотеки Microsoft Office и Microsoft Office Interop для Outlook в проект. Microsoft Office Outlook также должен быть установлен на машине, где будет выполняться код.
Программные примеры
C#
// Create Application class and get namespace
Outlook.Application outlook = new Outlook.ApplicationClass();
Outlook.NameSpace ns = outlook.GetNamespace("Mapi");
object _missing = Type.Missing;
ns.Logon(_missing, _missing, false, true);
// Get Inbox information in objec of type MAPIFolder
Outlook.MAPIFolder inbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
// Unread emails
int unread = inbox.UnReadItemCount;
// Display the subject of emails in the Inbox folder
foreach (Outlook.MailItem mail in inbox.Items)
{
Console.WriteLine(Wmail.Subject);
}
Использование Aspose.Email
Следующие фрагменты кода делают то же самое, что и приведённые выше фрагменты но использует Aspose.Email.
Тем не менее, Microsoft Outlook не требуется устанавливать на машину, где выполняется код. Ссылка на Aspose.Email позволяет собрать и запустить проект успешно.
Программные примеры
// Create instance of IEWSClient class by giving credentials
try (IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/EWS/Exchange.asmx", "username", "password", "domain")) {
// Call listMessages method to list messages info from Inbox
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// Loop through the collection to display the basic information
for (ExchangeMessageInfo msgInfo : msgCollection) {
System.out.println("Subject: " + msgInfo.getSubject());
System.out.println("From: " + msgInfo.getFrom().toString());
System.out.println("To: " + msgInfo.getTo().toString());
System.out.println("Message ID: " + msgInfo.getMessageId());
System.out.println("Unique URI: " + msgInfo.getUniqueUri());
System.out.println("==================================");
}
}