(PHP 4, PHP 5, PHP 7)
imap_search — Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado
$imap_stream
, string $criteria
[, int $options
= SE_FREE
[, string $charset
= NULL
]] )Esta función realiza una búsqueda en el buzón actualmente abierto en el flujo IMAP dado.
Por ejemplo, para hacer coincidir todos los mensajes no respondidos por Mami, debería usar: "UNANSWERED FROM mami". La búsqueda parece ser insensible a mayúsculas-minúsculas. La lista de criterios viene dada por una lectura del código fuente de c-client UW y puede estar incompleta o no ser exacta (véase » RFC2060, sección 6.4.4).
imap_stream
IMAP stream devuelto por imap_open().
criteria
Una cadena, delimitada por espacios, en la que están permitidas las siguientes
palabras clave. Cualquier argumento multi-palabra (p.ej.
FROM "joey smith") debe encerrarse entre comillas. Los resultados
serán contra todos los parámetros del campo criteria
.
options
Los valores válidos para options
son
SE_UID
, que causa que el array devuelto
contenga UIDs en vez de números de secuencia de mensajes.
charset
Conjunto de caracteres MIME a utilizar cuando se ordenan cadenas.
Devuelve un array de números de mensajes o UIDs.
Devuelve FALSE
si no comprende el criterio de búsqueda dado por
criteria
o no se han encontrado mensajes.
Ejemplo #1 imap_search() example
<?php
$conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);
$some = imap_search($conn, 'SUBJECT "COMO ser Guapo" 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);
?>
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 )