(PHP 4, PHP 5, PHP 7, PHP 8)
imap_search — Liefert ein Array von Nachrichten, die den gegebenen Suchkriterien entsprechen
$imap,$criteria,$flags = SE_FREE,$charset = ""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").
imapEine 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 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 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 ist
SE_UID, was bewirkt, dass das zurückgegebene Array
UIDs anstelle von Nachrichtennummern enthält.
charsetDer bei der Stringsuche zu verwendende MIME-Zeichensatz.
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.
| Version | Beschreibung |
|---|---|
| 8.1.0 |
Der Parameter imap erwartet nun eine
IMAP\Connection-Instanz; vorher wurde eine gültige
imap-Ressource erwartet.
|
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
)