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_stream
, string $criteria
, int $options
= SE_FREE
, string $charset
= null
) : array
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").
Parameter-Liste
-
imap_stream
-
Eine 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:
-
ALL - liefere alle Nachrichten, die den übrigen Kriterien entsprechen
-
ANSWERED - die gesuchten Nachrichten wurden beantwortet
-
BCC "text" - die gesuchten Nachrichten enthalten "text" im Bcc: Feld
-
BEFORE "datum" - die gesuchten Nachrichten wurden vor "datum" gesendet
-
BODY "text" - der Nachrichtenkörper enthält "text"
-
CC "text" - die gesuchten Nachrichten enthalten "text" im Cc: Feld
-
DELETED - die gesuchten Nachrichten sind zur Löschung vorgemerkt
-
FLAGGED - suche Nachrichten mit dem \\FLAGGED (manchmal auch als
wichtig oder dringend bezeichnet) Flag
-
FROM "text" - sucht Nachrichten mit "text" im Absender (From:)
-
KEYWORD "text" - sucht Nachrichten mit Schlüsselwort "text"
-
NEW - die gesuchten Nachrichten sind neu
-
OLD - die gesuchten Nachrichten sind nicht neu
-
ON "datum" - die Nachrichten wurden am angegebenen "datum" gesendet
-
RECENT - sucht Nachrichten deren \\RECENT Flag nocht gesetzt ist
-
SEEN - sucht bereits gelesene Nachrichten (das \\SEEN Flag 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 Empfänger (To:)
-
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
-
options
-
Der Parameter options
kann
auf SE_UID
gesetzt werden,
um UIDs statt Nachrichtennummern zurückzuerhalten.
-
charset
-
Der bei der Zeichenkettesuche zu verwendende MIME-Zeichensatz.
Rückgabewerte
Liefert ein Array mit Nachrichtennummern oder UIDs.
Wenn die Suchkriterien nicht verstanden, 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
)