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

Съобщения могат да се извличат от пощенска кутия асинхронно, като се използва 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);