メールサーバーからメールをフィルタリング

送信者、受信者、または日付でメッセージをフィルタリング

この Pop3Client クラスは、以下で説明されています POP3 サーバーに接続、は ListMessages() メールボックスからすべてのメッセージを取得するメソッドです。条件に合致するメッセージだけを取得するには、オーバーロードされた ListMessages() を受け取るメソッド MailQuery を引数として。 MailQuery クラスは、日付、件名、送信者、受信者など、クエリ条件を指定するためのさまざまなプロパティを提供します。 MailQueryBuilder クラスは検索式を構築するために使用されます。まず、すべての条件と制約を設定し、次に MailQuery は、…によって作成されたクエリで満たされます MailQueryBuilderMailQuery クラスオブジェクトは…によって使用されます Pop3Client サーバーからフィルタリングされた情報を抽出します。本記事ではメールボックスからメールメッセージをフィルタリングする方法を示します。最初の例では日付と件名に基づくメッセージのフィルタリングを説明します。その他の条件でのフィルタリングや、より複雑なクエリの作成方法も示します。また、日時フィルタを使用して特定のメールを取得する方法、さらに大文字小文字を区別したフィルタリングの適用方法も紹介します。

メールボックスからメッセージをフィルタリング

メールボックスからメッセージをフィルタリングするには:

  1. POP3 サーバーに接続.
  2. インスタンスを作成する MailQuery そして、必要なプロパティを設定します。
  3. 呼び出す Pop3Client.ListMessages(MailQuery query) メソッドに渡す MailQuery パラメータでフィルタリングされたメッセージのみを取得します。

以下のコードスニペットは、POP3メールボックスに接続し、本日受信した件名に "newsletter" を含むメッセージを取得する方法を示しています。

特定の条件でメッセージを取得

上記のコードサンプル メールの件名と日付に基づいてメッセージをフィルタリングする方法を示します。他のプロパティを使用して、サポートされている他の条件も設定できます。以下は、条件設定の例です: MailQuery.

以下のコードスニペットは、他の条件でメールをフィルタリングする方法を示しています:

  • 本日配信されたメールを検索する。
  • 一定期間内に受信したメールを検索する。
  • 特定の送信者からのメールを検索する。
  • 特定のドメインから送信されたメールを検索する。
  • 特定の受信者に送信されたメールを検索する。

本日

以下のコードスニペットは、本日配信されたメールを検索する方法を示しています。

日付範囲

以下のコードスニペットは、一定期間内に受信したメールを検索する方法を示しています。

特定の送信者

以下のコードスニペットは、特定の送信者からのメールを検索する方法を示しています。

特定のドメイン

以下のコードスニペットは、特定のドメインから送信されたメールを検索する方法を示しています。

特定の受信者

以下のコードスニペットは、特定の受信者に送信されたメールを検索する方法を示しています。

複雑なクエリを構築

異なる場合 MailQueryBuilder プロパティを別々のステートメントで設定すると、すべての条件が一致します。たとえば、日付範囲内かつ特定のホストからのメッセージを取得したい場合、3 つのステートメントを書く必要があります。

ANDでクエリを結合

以下のコードスニペットは、AND を使用してクエリを組み合わせる方法を示しています。

ORでクエリを結合

MailQueryBuilder 提供します Or() 2つを受け取るメソッド MailQuery インスタンスをパラメータとして渡します。指定した 2 条件のいずれかに一致するメッセージを取得します。次のコードスニペットは、件名に “test” を含むか、送信者が "noreply@host.com" のどちらかのメッセージをフィルタリングする方法を示しています。また、OR を使用してクエリを組み合わせる方法も示しています。

大文字小文字を区別するフィルタ

API は、大小文字を区別する条件に基づいてメールボックスからメールをフィルタリングする機能も提供します。以下のメソッドは、大小文字フラグを指定してメールを検索する機能を提供します。

  • メソッド Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
  • メソッド Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
  • メソッド Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
  • メソッド Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)