Trabajando con ImapClient de forma asíncrona

Los mensajes pueden recuperarse del buzón de forma asíncrona usando Aspose.Email ImapClient. Este artículo muestra la recuperación de mensajes del buzón de forma asíncrona. También muestra cómo listar mensajes proporcionando criterios de búsqueda usando MailQuery.

Recuperar mensajes de forma asíncrona

El siguiente fragmento de código muestra cómo recuperar mensajes de forma asíncrona.

// 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);
}

Listar mensajes de forma asíncrona con MailQuery

El MailQuery La clase se puede usar para especificar criterios de búsqueda para recuperar una lista determinada de mensajes de forma asíncrona, como se muestra en el siguiente ejemplo de código.

// 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);