Dart.Mail 名前空間 : ImapCriterion 列挙体 |
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のコレクションの一部で、なおかつその後に別の検索基準が続く場合、検索パラメーターは必要ありません。それ以外の場合は検索パラメーターが必要です。 |
NotAnswered | Answeredフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。 |
NotDeleted | Deletedフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。 |
NotDraft | Draftフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。 |
NotFlagged | Flaggedフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。 |
NotKeyword | 指定したキーワードフラグが設定されていないメッセージを検索します。これにより、カスタムフラグタイプに基づく検索が可能となります。 |
NotSeen | Seenフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。 |
Old | Recentフラグが設定されていないメッセージを検索します。検索パラメーターは必要ありません。 |
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メールボックスのカスタム検索を作成します。
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