imap_search
(PHP 4, PHP 5)
imap_search — Retourne un tableau de messages après recherche
Description
$imap_stream
, string $criteria
[, int $options
= SE_FREE
[, string $charset
= NIL
]] )Effectue une recherche dans la boîte aux lettres courante, sur le flux IMAP courant.
Par exemple, pour rechercher les messages non répondus, envoyés par maman, vous pouvez utiliser : "UNANSWERED FROM maman". Les recherches semblent insensibles à la casse. Cette liste de critères est issue du code d'un client C UW et peut être incomplète ou imprécise. (voir aussi » RFC2060, section 6.4.4).
Liste de paramètres
-
imap_stream
-
Un flux IMAP retourné par la fonction imap_open().
-
criteria
-
Une chaîne de caractères, délimitée par des espaces, dans laquelle les mots-clés suivants sont acceptés. Tous les arguments à plusieurs mots (e.g. FROM "joey smith") doivent être placés entre guillemets. Les résultats devront correspondre à toutes les entrées
criteria
.- ALL - retourne tous les messages qui vérifient le reste du critère.
- ANSWERED - tous les messages avec le flag \\ANSWERED
- BCC "string" - tous les messages avec la chaîne "string" dans le champ Bcc
- BEFORE "date" - tous les messages avec Date : avant "date"
- BODY "string" - tous les messages avec "string" dans le corps
- CC "string" - tous les messages avec "string" dans le champ Cc
- DELETED - tous les messages effacés
- FLAGGED - tous les messages avec le flag \\FLAGGED (parfois interprété comme Important ou Urgent)
- FROM "string" - tous les messages avec la chaîne "string" dans le champ From
- KEYWORD "string" - tous les messages avec la chaîne "string" comme mot-clé
- NEW - tous les nouveaux messages
- OLD - tous les anciens messages
- ON "date" - tous les messages avec la date "date" comme champ Date
- RECENT - tous les messages avec le flag \\RECENT
- SEEN - tous les messages lus (avec le flag\\SEEN flag)
- SINCE "date" - tous les messages avec la date Date: après "date"
- SUBJECT "string" - tous les messages avec la chaîne "string" dans le champ Subject
- TEXT "string" - tous les messages avec le texte "string"
- TO "string" - tous les messages avec la chaîne "string" dans le champ To
- UNANSWERED - tous les messages non répondus
- UNDELETED - tous les messages non effacés
- UNFLAGGED - tous les messages non marqués
- UNKEYWORD "string" - tous les messages ne contenant pas le mot-clé "string"
- UNSEEN - tous les messages non lus
-
options
-
Les valeurs pour les flags sont
SE_UID
, qui fait que le tableau réponse contient les UID plutôt que les numéros de séquence. -
charset
-
Valeurs de retour
Retourne un tableau de numéro de messages ou d'UID.
Retourne FALSE
si la recherche n'est pas comprise, ou bien qu'aucun
message n'a été trouvé.
Historique
Version | Description |
---|---|
4.3.3 |
Le paramètre charset a été ajouté.
|
Exemples
Exemple #1 Exemple avec imap_search()
<?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); ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
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 )