• « imap_scanmailbox
  • imap_set_quota »
  • PHP Manual
  • Funciones de IMAP
  • Esta función devuelve un array de mensajes que coinciden con el criterio de búsqueda dado

imap_search

(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

Descripción

imap_search ( resource $imap_stream , string $criteria [, int $options = SE_FREE [, string $charset = NULL ]] ) : array

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 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.

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', '[email protected]', '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
)

Ver también

  • imap_listscan() - Devuelve la lista de buzones que coinciden con el texto dado