imap_search
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_search — Liefert ein Array von Nachrichten, die den gegebenen Suchkriterien entsprechen
Beschreibung
IMAP\Connection
$imap
,string
$criteria
,int
$flags
= SE_FREE
,string
$charset
= ""): array|false
Diese Funktion durchsucht die Nachrichten des aktuellen Postfachs auf dem angegebenen IMAP-Stream.
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 IMAP\Connection-Instanz.
-
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 incriteria
ü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 Nachrichten, die nicht zum Löschen vorgemerkt sind
- 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
-
Der einzige gültige Werte für
flags
istSE_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 criteria
nicht verstanden
wurden oder keine Nachrichten gefunden wurden, wird false
zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
8.1.0 |
Der Parameter imap erwartet nun eine
IMAP\Connection-Instanz; vorher wurde eine Ressource
erwartet.
|
Beispiele
Beispiel #1 imap_search()-Beispiel
<?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);
?>
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 )