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(
    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 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.

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

VersionBeschreibung
8.1.0 Der Parameter imap erwartet nun eine IMAP\Connection-Instanz; vorher wurde eine gültige imap-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 )

Siehe auch

To Top