| 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