PHP - Función imap_open ()
Las funciones PHP − IMAP le ayudan a acceder a 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_open() La función acepta tres valores de cadena que representan el nombre / URL del buzón, el nombre de usuario y la contraseña como parámetros y abre el flujo al buzón especificado.
Sintaxis
imap_open ($mailbox, $username, $password [$options, $n_retries, $params);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | mailbox(Mandatory) Este es un valor de cadena que representa el nombre / URL del buzón. Contiene el nombre del servidor, la ruta del buzón. |
2 | username(Mandatory) Este es un valor de cadena que representa el nombre de usuario. |
3 | password(Mandatory) Este es un valor de cadena que representa la contraseña. |
4 | options (Optional) Este es un valor entero que representa el parámetro opcional que puede ser uno o más de los siguientes:
|
5 | retries (Optional) Este es un valor entero que representa el número máximo de intentos. |
6 | params (Optional) Este es un valor de matriz que representa los parámetros de conexión. |
Valores devueltos
Esta función devuelve un objeto de flujo IMAP en caso de éxito y un valor booleano FALSE 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 un programa php que intenta establecer una conexión con una cuenta de Gmail en particular imap_open() -
<html>
<body>
<?php
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "[email protected]m";
$pwd = "cohondob_123";
$mailbox = imap_open($url, $id, $pwd);
if($mailbox){
print("Connection established....");
} else {
print("Connection failed");
}
?>
</body>
</html>
Salida
El programa anterior genera la siguiente salida:
Connection established....
Ejemplo
A continuación se muestra otro ejemplo de esta función, ya que hemos establecido conexión con un buzón de correo en particular y hemos recuperado el contenido del mensaje en él.
<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>");
//Searching emails
$emailData = imap_search($imap, '');
if (! empty($emailData)) {
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
El programa anterior genera la siguiente salida:
Connection established....
This is a test mail #1.
--0000000000001bf26805af905277 Content-Type: text/plain; charset="UTF-8" test
mail #2 --0000000000001bf26805af905277 Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
test mail #2
--0000000000001bf26805af905277--
test mail #3
test mail #4
Ejemplo
A continuación se muestra el ejemplo de esta función con parámetros opcionales.
<html>
<body>
<?php
//Establishing the connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "[email protected]";
$pwd = "cohondob_123";
//Optional parameters
$options = OP_READONLY;
$retries = 10;
$mailbox = imap_open($url, $id, $pwd, $options, $retries);
if($mailbox){
print("Connection established....");
} else {
print("Connection failed");
}
?>
</body>
</html>
El programa anterior genera la siguiente salida:
Connection established....