(PHP 4, PHP 5, PHP 7)
imap_search — Liefert ein Array von Nachrichten, die den gegebenen Suchkriterien entsprechen
$imap_stream
, string $criteria
[, int $options = SE_FREE
[, string $charset = NULL
]] ) : arrayimap_search() durchsucht die Nachrichten des aktuellen Postfachs.
Der Suchstring um z.B. nach allen unbeantworteten Nachrichten von Mutter zu suchen wäre "UNANSWERED FROM Mutter". Die Suche unterscheidet nicht nach Groß- und Kleinschreibung. Die folgende Liste von Suchkriterien wurde aus dem Sourcecode des UW c-client erstellt, sie ist daher nicht unbedingt vollständig oder in allen Einzelheiten korrekt (siehe auch » RFC1176, Abschnitt "tag SEARCH search_criteria").
imap_streamEine von imap_open() zurückgegebene IMAP-Verbindung.
criteria
Eine aus mit Leerzeichen getrennten Schlüsselworten und Argumenten bestehende Zeichenkette.
Argumente, die selbt Leerzeichen enthalten, müssen in doppelte
Anführungszeichen gefasst werden (z.B. FROM "Hans Müller").
Es existieren folgende Schlüsselworte:
options
Der Parameter options kann
auf SE_UID gesetzt werden,
um UIDs statt Nachrichtennummern zurückzuerhalten.
charsetDer bei der Zeichenkettesuche zu verwendende MIME-Zeichensatz.
Liefert ein Array mit Nachrichtennummern oder UIDs.
Wenn die Suchkriterien nicht verstanden, oder
keine Nachrichten gefunden wurden, wird FALSE
zurückgegeben.
Beispiel #1 imap_search() Beispiel
<?php
$conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($conn, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($conn, 'ALL');
$uids = imap_search($conn, 'ALL', SE_UID);
print_r($some);
print_r($msgnos);
print_r($uids);
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
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
)