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
)