(PHP 4, PHP 5, PHP 7, PHP 8)
imap_search — Devuelve un array de mensajes después de la búsqueda
$imap
,$criteria
,$flags
= SE_FREE
,$charset
= ""Realiza una búsqueda en el buzón de correo actual, en el flujo IMAP actual.
Por ejemplo, para buscar los mensajes no respondidos, enviados por mamá, se puede utilizar: "UNANSWERED FROM mamá". Las búsquedas parecen no distinguir entre mayúsculas y minúsculas. Esta lista de criterios proviene del código de un cliente C UW y puede ser incompleta o imprecisa. (ver también la » RFC1176, y en particular, la sección "tag SEARCH search_criteria").
imap
An IMAP\Connection instance.
criteria
Un string, delimitado por espacios, en el que se aceptan los siguientes
palabras clave. Todos los argumentos de varias palabras (e.g.
FROM "joey smith"
) deben colocarse entre comillas.
Los resultados deben coincidir con todas las entradas
criteria
.
flags
Los valores para flags
son SE_UID
, que hace que el array de respuesta
contenga los UID en lugar de los números de secuencia.
charset
Conjunto de caracteres MIME a utilizar durante la búsqueda de string.
Devuelve un array de números de mensajes o de UID.
Devuelve false
si la búsqueda no es comprendida, o bien si ningún
mensaje ha sido encontrado.
Versión | Descripción |
---|---|
8.1.0 |
The imap parameter expects an IMAP\Connection
instance now; previously, a valid imap recurso was expected.
|
Ejemplo #1 Ejemplo con imap_search()
<?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);
?>
El resultado del ejemplo sería algo similar a:
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 )