パラメータ
- criteria
- 実行する検索のタイプを定義する、1つ以上のImapSearchParameterオブジェクトの配列。
戻り値の型
criteriaを満たすImapMessageの配列。
以下のサンプルコードでは、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