Работа с ImapClient асинхронно
Contents
[
Hide
]
Сообщения могут быть получены из почтового ящика асинхронно с использованием Aspose.Email ImapClient. В этой статье показано асинхронное получение сообщений из почтового ящика. Также статья демонстрирует, как выводить список сообщений, задавая критерии поиска с помощью MailQuery.
Асинхронное получение сообщений
Ниже показан фрагмент кода, демонстрирующий, как асинхронно получать сообщения.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Connect and log in to IMAP
try (ImapClient client = new ImapClient("host", "username", "password")) {
client.selectFolder("Issues/SubFolder");
ImapMessageInfoCollection messages = client.listMessages();
IAsyncResult ar = client.beginFetchMessage(messages.get_Item(0).getSequenceNumber());
MailMessage message = client.endFetchMessage(ar);
}
Список сообщений асинхронно с MailQuery
Этот MailQuery класс может использоваться для указания критериев поиска при асинхронном получении указанного списка сообщений, как показано в следующем примере кода.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
ImapQueryBuilder builder = new ImapQueryBuilder();
builder.getSubject().contains("Subject");
MailQuery query = builder.getQuery();
IAsyncResult asyncResult = client.beginListMessages(query);
ImapMessageInfoCollection messages = client.endListMessages(asyncResult);