Извлечение сообщений из почтового ящика Exchange Server с использованием WebDav
Для получения списка сообщений в почтовом ящике Exchange Server использовался метод listMessages(). Метод listMessages() получает основную информацию о сообщениях, например, тему, идентификатор сообщения, отправителя и получателя.
Чтобы получить полные сведения о сообщении, Aspose.Email.Exchange предоставляет метод ExchangeClient.fetchMessage(). Этот метод принимает URI сообщения в качестве параметра и возвращает экземпляр класса MailMessage. Класс MailMessage предоставляет подробности сообщения, такие как тело, заголовки и вложения.
Извлечение сообщений из почтового ящика Exchange Server
Чтобы извлечь сообщения из почтового ящика Exchange Server:
- Создайте экземпляр типа ExchangeClient.
- Укажите имя сервера, имя пользователя, пароль и домен.
- Вызовите метод listMessages для получения ExchangeMessageInfoCollection.
- Переберите коллекцию ExchangeMessageInfoCollection для получения значений ExchangeMessageInfo.getUniqueUri.
- Вызовите ExchangeClient.fetchMessage() и передайте ExchangeMessageInfo.getUniqueUri в качестве параметра.
Следующий фрагмент кода подключается к почтовому ящику Exchange Server и извлекает все сообщения.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
// Create instance of ExchangeClient class by giving credentials | |
ExchangeClient client = new ExchangeClient("http://ex07sp1/exchange/Administrator", "username", "password", "domain"); | |
// Call ListMessages method to list messages info from Inbox | |
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri()); | |
// Loop through the collection to get Message URI | |
for (ExchangeMessageInfo msgInfo : msgCollection) { | |
String strMessageURI = msgInfo.getUniqueUri(); | |
// Now get the message details using FetchMessage() | |
MailMessage msg = client.fetchMessage(strMessageURI); | |
// Display message details | |
System.out.println("Subject: " + msg.getSubject()); | |
System.out.println("HTML Body: " + msg.getHtmlBody()); | |
System.out.println("Number of attachments: " + msg.getAttachments().size()); | |
for (Attachment att : msg.getAttachments()) { | |
System.out.println("Attachment Name: " + att.getName()); | |
} | |
} |