(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").
imapAn 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.
charsetConjunto 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
)