• « imap_scanmailbox
  • imap_set_quota »
  • PHP Manual
  • IMAP Funktionen
  • Liefert ein Array von Nachrichten, die den gegebenen Suchkriterien entsprechen

imap_search

(PHP 4, PHP 5, PHP 7)

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

imap_search() durchsucht die Nachrichten des aktuellen Postfachs.

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 » RFC2060, Abschnitt 6.4.4).

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', '[email protected]', '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
)

Siehe auch

  • imap_listscan() - Listet Postfächer nach Suchkriterien