imap_search
(PHP 4, PHP 5)
imap_search — Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado
Descripción
$imap_stream
, string $criteria
[, int $options = SE_FREE
[, string $charset = NIL
]] )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).
Parámetros
-
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.- ALL - devuelve todos los mensajes que coinciden con el resto del criterio
- ANSWERED - coincide con los mensajes con la bandera \\ANSWERED establecida
- BCC "cadena" - coincide con los mensajes con "cadena" en el campo Bcc:
- BEFORE "fecha" - coincide con los mensajes con Date: antes de "fecha"
- BODY "cadena" - coincide con los mensajes con "cadena" en el cuerpo del mensaje
- CC "cadena" - coincide con los mensajes con "cadena" en el campo Cc:
- DELETED - coincide con los mensajes borrados
- FLAGGED - coincide con los mensajes con la bandera \\FLAGGED establecida (algunas veces referidos como Importante o Urgente)
- FROM "cadena" - coincide con los mensajes con "cadena" en el campo From:
- KEYWORD "cadena" - coincide con los mensajes con "cadena" como palabra clave
- NEW - coincide con los mensajes nuevos
- OLD - coincide con los mensajes antiguos
- ON "fecha" - coincide con los mensajes con Date: coincidiendo con "fecha"
- RECENT - coincide con los mensajes con la bandera \\RECENT establecida
- SEEN - coincide con los mensajes que han sido leídos (la bandera \\SEEN está estabecido)
- SINCE "fecha" - coincide con los mensajes con Date: después de "fecha"
- SUBJECT "cadena" - coincide con los mensajes con "cadena" en Subject:
- TEXT "cadena" - coincide con los mensajes con el texto "cadena"
- TO "cadena" - coincide con los mensajes con "cadena" en To:
- UNANSWERED - coincide con los mensajes que no han sido respondidos
- UNDELETED - coincide con los mensajes que no están eliminados
- UNFLAGGED - coincide con los mensajes que no tienen bandera
- UNKEYWORD "cadena" - coincide con los mensajes que no tienen la palabra clave "cadena"
- UNSEEN - coincide con los mensajes que aún no han sido leídos
-
options -
Los valores válidos para
optionssonSE_UID, que causa que el array devuelto contenga UIDs en vez de números de secuencia de mensajes. -
charset -
Valores devueltos
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.
Ejemplos
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
)