PHP - Función imap_search ()

Las funciones PHP − IMAP le ayudan a acceder a las cuentas de correo electrónico, IMAP significa IInternet Mafligir Aacceso Protocol utilizando estas funciones también puede trabajar con protocolos NNTP, POP3 y métodos de acceso al buzón local.

los imap_search() acepta un valor de recurso que representa una secuencia IMAP y un valor de cadena que representa los criterios de búsqueda como parámetros, busca en el buzón y devuelve los mensajes coincidentes en forma de matriz.

Sintaxis

imap_search($imap_stream, $criteria, [$options, $charset]);

Parámetros

No Señor Descripción de parámetros
1

imap_stream (Mandatory)s

Este es un valor de cadena que representa un flujo IMAP, valor de retorno del imap_open() función.

2

criteria (Mandatory)

Este es un valor de cadena que representa los criterios de búsqueda.

3

options (Optional)

Este es un valor de cadena que representa el valor opcional SE_UID. Al configurar, la matriz devuelta contiene UID en lugar de secuencias de mensajes.

4

$charset (Optional)

Este es un valor de cadena que representa el juego de caracteres MIME que se utilizará durante la búsqueda.

Valores devueltos

Esta función devuelve una matriz que contiene los números de mensaje / UID que representan los mensajes coincidentes en caso de éxito y un valor booleano FALSO en caso de error.

Versión PHP

Esta función se introdujo por primera vez en PHP Versión 4 y funciona en todas las versiones posteriores.

Ejemplo

A continuación se muestra otro ejemplo de esta función:

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $pwd = "cohondob_123";
         $imap = imap_open($url, $id, $pwd);
         print("Connection established...."."<br>");
         print("Results of the search: "."<br>");
         
         $emailData = imap_search($imap, '');
         print_r($emailData);
	    
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Esto genera la siguiente salida:

Connection established....
Results of the search:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )

Ejemplo

A continuación se muestra otro ejemplo de esta función; esto lee los mensajes invisibles en la bandeja de entrada actual -

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $pwd = "cohondob_123";
         $imap = imap_open($url, $id, $pwd);
         print("Connection established...."."<br>");
         print("Contents of the matched messages: "."<br>");
         $emailData = imap_search($imap, "UNSEEN");
         foreach ($emailData as $msg) {
            $msg = imap_fetchbody($imap, $msg, "1");
            print(quoted_printable_decode($msg)."<br>");                
         }    
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Salida

Esto generará la siguiente salida:

Connection established....
Contents of the matched messages:
Array ( [0] => 4 [1] => 5 [2] => 6 )
#sample_mail4
#sample_mail5
#sample_mail6

Ejemplo

A continuación se muestra un ejemplo de esta función con parámetros opcionales:

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $pwd = "cohondob_123";
         $imap = imap_open($url, $id, $pwd);
         print("Connection established...."."<br>");
         print("Contents  of the matched messages: "."<br>");
         $data = imap_search($imap, "ALL", SE_UID);
         print_r($data);
    
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Salida

Esto generará la siguiente salida:

Connection established....
Contents of the matched messages:
Array ( 
   [0] => 19 
   [1] => 20 
   [2] => 42 
   [3] => 49 
   [4] => 50 
   [5] => 51 
)