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