GrapeCity Secure Mail for .NET 4.0J
Search メソッド
使用例 

実行する検索のタイプを定義する、1つ以上のImapSearchParameterオブジェクトの配列。
指定した基準に一致するメッセージをメールボックス内で検索します。
シンタックス
Public Function Search( _
   ByVal criteria() As ImapSearchParameter _
) As ImapMessage()
public ImapMessage[] Search( 
   ImapSearchParameter[] criteria
)

パラメータ

criteria
実行する検索のタイプを定義する、1つ以上のImapSearchParameterオブジェクトの配列。

戻り値の型

criteriaを満たすImapMessageの配列。
例外
例外解説
ProtocolExceptionサーバーから受信したIMAPプロトコル応答が不良です。
System.Net.Sockets.SocketException通信エラーが発生しました。
System.InvalidCastException指定されたキャストが無効です。
解説

このメソッドは、"SEARCH"コマンドをサーバーに送信します。複数のImapSearchParameterが論理ANDで結合されます。ImapCriterionの値であるImapCriterion.NotおよびImapCriterion.Orを使用して、その他の論理結合を表現できます。この検索ツールの使用方法のガイドについては、RFC 3501またはその他のオンラインリソースを参照してください。

Imap.Session.AutoUtf8が trueに設定され、サーバーが「UTF8=ACCEPT」を返す場合、UNICODE文字列のエンコードとデコードにUTF8が使用されます。

使用例
以下のサンプルコードでは、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
参照

参照

Mailbox クラス
Mailbox メンバ

 

 


© 2003, GrapeCity inc. All rights reserved.