imap_search
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_search —
Liefert ein Array von Nachrichten, die den gegebenen Suchkriterien entsprechen
Beschreibung
imap_search
( resource $imap
, string $criteria
, int $flags
= SE_FREE
, string $charset
= ""
) : array|false
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 und ist daher nicht unbedingt
vollständig oder in allen Einzelheiten korrekt (siehe auch
» RFC1176, Abschnitt "tag SEARCH
search_criteria").
Parameter-Liste
-
imap
-
Eine von imap_open() zurückgegebene IMAP-Verbindung.
-
criteria
-
Ein String, in dem die folgenden durch Leerzeichen getrennten
Schlüsselwörter erlaubt sind. Argumente, die selbt Leerzeichen
enthalten, müssen in doppelte Anführungszeichen gefasst werden (z.B.
FROM "Hans Müller"
). Die Ergebnisse müssen mit allen
Einträgen in criteria
übereinstimmen.
-
ALL - gebe alle Nachrichten zurück, die den übrigen Kriterien
entsprechen
-
ANSWERED - sucht Nachrichten mit dem Flag \\ANSWERED
-
BCC "text" - sucht Nachrichten mit "text" im Bcc:-Feld
-
BEFORE "datum" - sucht Nachrichten, die vor "datum" gesendet wurden
-
BODY "text" - sucht Nachrichten mit "text" im Nachrichtenkörper
-
CC "text" - sucht Nachrichten mit "text" im Cc:-Feld
-
DELETED - sucht Nachrichten, die zur Löschung vorgemerkt sind
-
FLAGGED - sucht Nachrichten mit dem Flag \\FLAGGED (manchmal auch
als wichtig oder dringend bezeichnet)
-
FROM "text" - sucht Nachrichten mit "text" im From:-Feld
-
KEYWORD "text" - sucht Nachrichten mit dem Schlüsselwort "text"
-
NEW - sucht neue Nachrichten
-
OLD - sucht alte Nachrichten
-
ON "datum" - sucht Nachrichten, die am angegebenen "datum" gesendet
wurden
-
RECENT - sucht Nachrichten mit dem Flag \\RECENT
-
SEEN - sucht bereits gelesene Nachrichten (das Flag \\SEEN ist
gesetzt)
-
SINCE "datum" - sucht nach "datum" gesendete Nachrichten
-
SUBJECT "text" - sucht Nachrichten mit "text" in der Betreffzeile
-
TEXT "text" - sucht Nachrichten deren Text "text" enthält
-
TO "text" - sucht Nachrichten mit "text" im To:-Feld
-
UNANSWERED - sucht noch nicht beantwortete Nachrichten
-
UNDELETED - sucht nicht zum Löschen vorgemerkte Nachrichten
-
UNFLAGGED - sucht Nachrichten, die nicht als wichtig markiert sind
-
UNKEYWORD "text" - sucht Nachrichten, in deren Schlüsselwörtern
"text" nicht enthalten ist
-
UNSEEN - sucht ungelesene Nachrichten
-
flags
-
Gültige Werte für flags
sind
SE_UID
, was bewirkt, dass das zurückgegebene Array
UIDs anstelle von Nachrichtennummern enthält.
-
charset
-
Der bei der Stringsuche zu verwendende MIME-Zeichensatz.
Rückgabewerte
Gibt ein Array mit Nachrichtennummern oder UIDs zurück.
Wenn die Suchkriterien nicht verstanden wurden oder keine Nachrichten
gefunden wurden, wird false
zurückgegeben.
Beispiele
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
)