GrapeCity Secure Mail for .NET 4.0J
ImapCriterion 列挙体
使用例 使用例 

IMAP SEARCHコマンドの基準を詳述します。
シンタックス
Public Enum ImapCriterion 
   Inherits System.Enum
public enum ImapCriterion : System.Enum 
メンバ
メンバ解説
Allすべてのメッセージを検索します(制約なし)。検索パラメーターは必要ありません。
Answered返信されたメッセージ(Answeredフラグが設定されているメッセージ)をすべて検索します。検索パラメーターは必要ありません。
Bcc指定した文字列がメッセージエンベロープのBCCフィールドに含まれるメッセージを検索します。
Before内部日付が指定した日付より前のメッセージを検索します。
Body指定した文字列がメッセージボディに含まれるメッセージを検索します。
Cc指定した文字列がメッセージエンベロープのCCフィールドに含まれるメッセージを検索します。
Deleted削除対象メッセージ(Deletedフラグが設定されているメッセージ)を検索します。検索パラメーターは必要ありません。
Draft下書きメッセージ(Draftフラグが設定されているメッセージ)を検索します。検索パラメーターは必要ありません。
Flaggedフラグ付きメッセージ(Flaggedフラグが設定されているメッセージ)を検索します。検索パラメーターは必要ありません。
From指定した文字列がメッセージエンベロープのFROMフィールドに含まれるメッセージを検索します。
Header指定した文字列がメッセージヘッダに含まれるメッセージを検索します。 ヘッダフィールドを指定する必要があるため、この検索基準のパラメーター値は"<ヘッダ> <値>"にします。
Keyword指定したキーワードフラグが設定されているメッセージを検索します。これにより、カスタムフラグタイプに基づく検索が可能となります。
Larger指定したバイト数より大きいメッセージを検索します。
New最近の未読メッセージ(Recentフラグが設定されていて、Seenフラグは設定されていないメッセージ)をすべて検索します。検索パラメーターは必要ありません。
Not別の検索基準に対する論理反転(NOT操作)を実行します。 これがImapSearchParameterのコレクションの一部で、なおかつその後に別の検索基準が続く場合、検索パラメーターは必要ありません。それ以外の場合は検索パラメーターが必要です。
NotAnsweredAnsweredフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。
NotDeletedDeletedフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。
NotDraftDraftフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。
NotFlaggedFlaggedフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。
NotKeyword指定したキーワードフラグが設定されていないメッセージを検索します。これにより、カスタムフラグタイプに基づく検索が可能となります。
NotSeenSeenフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。
OldRecentフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。
On内部日付が指定した値と正確に一致するメッセージを検索します(時刻は無視されます)。
Orこの基準の後に続く2つの検索基準に対する論理OR操作を実行します。 この検索パラメーターの後に他の検索基準が2つ続く必要があります。これらはORの対象となる条件を表します。
Recent最近のメッセージ(Recentフラグが設定されているメッセージ)を検索します。検索パラメーターは必要ありません。
Seen既読メッセージ(Seenフラグが設定されているメッセージ)を検索します。検索パラメーターは必要ありません。
SentBefore指定した日付より前に送信されたメッセージを検索します。
SentOn指定した日付に送信されたメッセージを検索します。
SentSince内部日付が指定した日付より後のメッセージを検索します。
Since指定した日付より後に送信されたメッセージを検索します。
Smaller指定したバイト数より小さいメッセージを検索します。
Subject指定した文字列がメッセージ件名に含まれるメッセージを検索します。
Text指定した文字列がメッセージのヘッダまたはボディに含まれるメッセージを検索します。
To指定した文字列がメッセージのTOフィールドに含まれるメッセージを検索します。
Uid指定したUIDまたはUIDの範囲に一致するメッセージを検索します。 UIDの範囲は"<開始>:<終了>"の書式を使用して指定できます。
解説

この列挙体は、Mailbox.Searchメソッドの検索制約を指定します。 この列挙体をImapSearchParameterクラスと組み合わせて、IMAPメールボックスのカスタム検索を作成します。

使用例
以下のサンプルコードでは、Imapコンポーネントを使用して、指定した基準に一致するメッセージを別のメールボックスにコピーします。
private void getMessages(object state)
{
    // サーバーとアカウントの情報を設定します。
    imap1.Session.RemoteEndPoint = new Dart.Mail.IPEndPoint(myServer, Imap.GetDefaultPort(imap1.Session));
    imap1.Session.Username = myUsername;
    imap1.Session.Password = myPassword;

    // 接続してアカウントにログインします。
    imap1.Connect();
    imap1.Authenticate();

    // 選択メールボックスをInboxに設定します。
    imap1.SelectedMailbox = imap1.Mailboxes["INBOX"];

    // 検索基準として"SEARCH SINCE 1-Jan-2012 NOT FROM JACKSON"を作成します。
    ImapSearchParameter[] criteria = new ImapSearchParameter[] 
    {
        new ImapSearchParameter(ImapCriterion.Since, "1-Jan-2012"),
        new ImapSearchParameter(ImapCriterion.Not, ""),
        new ImapSearchParameter(ImapCriterion.From, "JACKSON")
    };

    // 検索を実行します。
    ImapMessage[] messages = imap1.SelectedMailbox.Search(criteria);

    // 基準に一致するすべてのメッセージを'Save'メールボックスにコピーします。
    foreach (ImapMessage imapMessage in messages)
        imapMessage.CopyTo(imap1.Mailboxes["Save"]);

    // 適切にログアウトします。
    imap1.Close();
}
Private Sub getMessages(ByVal state As Object)
    ' サーバーとアカウントの情報を設定します。
    imap1.Session.RemoteEndPoint = New Dart.Mail.IPEndPoint(myServer, Imap.GetDefaultPort(imap1.Session))
    imap1.Session.Username = myUsername
    imap1.Session.Password = myPassword

    ' 接続してアカウントにログインします。
    imap1.Connect()
    imap1.Authenticate()

    ' 選択メールボックスをInboxに設定します。
    imap1.SelectedMailbox = imap1.Mailboxes("INBOX")

    ' 検索基準として"SEARCH SINCE 1-Jan-2012 NOT FROM JACKSON"を作成します。
    Dim criteria() As ImapSearchParameter = { New ImapSearchParameter(ImapCriterion.Since, "1-Jan-2012"), New ImapSearchParameter(ImapCriterion.Not, ""), New ImapSearchParameter(ImapCriterion.From, "JACKSON") }

    ' 検索を実行します。
    Dim messages() As ImapMessage = imap1.SelectedMailbox.Search(criteria)

    ' 基準に一致するすべてのメッセージを'Save'メールボックスにコピーします。
    For Each imapMessage As ImapMessage In messages
        imapMessage.CopyTo(imap1.Mailboxes("Save"))
    Next imapMessage

    ' 適切にログアウトします。
    imap1.Close()
End Sub
継承階層

System.Object
   System.ValueType
      System.Enum
         Dart.Mail.ImapCriterion

参照

参照

Dart.Mail 名前空間

 

 


© 2003, GrapeCity inc. All rights reserved.