imap_search
指定した検索条件にマッチするメッセージを配列として返す
説明
arrayfalse imap_search(
IMAP\Connection $imap
,
string $criteria
,
int $flags
= SE_FREE
,
string $charset
= ""
)
例えば、Mom から送られた全ての未回答のメッセージにマッチさせるには、
"UNANSWERED FROM mom" を使用します。
検索は、大文字小文字が区別されずに行われます。
検索条件のリストは、UW c-client のソースコードからのものであり、
不完全または不正確である可能性があります
(» RFC1176 の
"tag SEARCH search_criteria" も参照ください)。
パラメータ
-
imap
-
IMAP\Connection クラスのインスタンス。
-
criteria
-
空白で区切られた文字列で、以下のキーワードが使用可能です。
複数の単語からなるキーワード(例 FROM "joey smith"
)
は全て引用符で括る必要があります。
結果は、すべての criteria
エントリにマッチすることになります。
-
ALL - 他の検索条件にマッチする全メッセージを返す
-
ANSWERED - \\ANSWERED フラグが設定されているメッセージにマッチ
-
BCC "string" - Bcc: フィールドに "string" を有するメッセージにマッチ
-
BEFORE "date" - "date" より前の Date: を有するメッセージにマッチ
-
BODY "string" - メッセージ本体に "string" を有するメッセージにマッチ
-
CC "string" - Cc: フィールドに "string" を有するメッセージにマッチ
-
DELETED - 削除されたメッセージにマッチ
-
FLAGGED - \\FLAGGED フラグ(重要または緊急を表すものとして
使用されることがあります)が設定されているメッセージにマッチ
-
FROM "string" - From: フィールドに "string" を有するメッセージにマッチ
-
KEYWORD "string" - キーワードとして "string" を有するメッセージにマッチ
-
NEW - 新規メッセージにマッチ
-
OLD - 古いメッセージにマッチ
-
ON "date" - Date: が "date" であるメッセージにマッチ
-
RECENT - \\RECENT フラグが設定されているメッセージにマッチ
-
SEEN - 既読の(\\SEEN フラグが設定されている)メッセージにマッチ
-
SINCE "date" - Date: が "date" 以降であるメッセージにマッチ
-
SUBJECT "string" - Subject: に "string" を有するメッセージにマッチ
-
TEXT "string" - テキスト "string" を有するメッセージにマッチ
-
TO "string" - To: に "string" を有するメッセージにマッチ
-
UNANSWERED - 未回答のメッセージにマッチ
-
UNDELETED - 削除されていないメッセージにマッチ
-
UNFLAGGED - フラグが設定されていないメッセージにマッチ
-
UNKEYWORD "string" - キーワード "string" を有さないメッセージにマッチ
-
UNSEEN - 未読のメッセージにマッチ
-
flags
-
flags
に指定できる値は
SE_UID
です。これを指定すると、
メッセージ番号ではなく UID を含む配列を返します。
-
charset
-
文字列の検索の際に使う MIME 文字セット。
戻り値
メッセージ番号あるいは UID の配列を返します。
検索条件 criteria
を処理できなかった場合や
結果が見つからなかった場合は、false
を返します。
例
例1 imap_search の例
<?php
$imap = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($imap, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($imap, 'ALL');
$uids = imap_search($imap, 'ALL', SE_UID);
print_r($some);
print_r($msgnos);
print_r($uids);
?>
Array
(
[0] => 4
[1] => 6
[2] => 11
)
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
Array
(
[0] => 1
[1] => 4
[2] => 6
[3] => 8
[4] => 11
[5] => 12
)