Работа с ImapClient асинхронно

Сообщения могут быть извлечены из почтового ящика асинхронно с использованием Aspose.Email ImapClient. Эта статья демонстрирует извлечение сообщений из почтового ящика асинхронно. Эта статья также показывает, как перечислить сообщения, предоставив критерии поиска с помощью MailQuery.

Извлечение сообщений асинхронно

Следующий фрагмент кода показывает, как извлекать сообщения асинхронно.

// Для полных примеров и файлов данных, пожалуйста, перейдите по адресу https://github.com/aspose-email/Aspose.Email-for-Java
// Подключение и вход в 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 может быть использован для указания критериев поиска для извлечения заданного списка сообщений асинхронно, как показано в следующем примере кода.

// Для полных примеров и файлов данных, пожалуйста, перейдите по адресу 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);