This search looks for messages matching ALL criteria, not ANY criteria. For example the search
imap_search($mailbox,'FROM "user" TO "user"')
Will return message that have "user" in both the from and to headers, but not messages with "user" in either the from or to header.
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
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.
- 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 options son SE_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.
Historial de cambios
| Versión | Descripción |
|---|---|
| 4.3.3 | Se añadió el parámetro charset |
imap_search() only supports IMAP2 search criterias, because the function mail_criteria() (from c-client lib) is used in ext/imap/php_imap.c for parsing the search string.
IMAP2 search criteria is defined in RFC 1176, section "tag SEARCH search_criteria".
imap_search() return false if it does not understand the search condition or no messages have been found.
$emails imap_seach($mbox, "UNDELETED SENTSINCE 01-Jan-2002");
if($emails === false)
echo "The search failed";
