imap_open
(PHP 4, PHP 5)
imap_open — Abrir un flujo IMAP a un buzón
Descripción
$mailbox
, string $username
, string $password
[, int $options = 0
[, int $n_retries = 0
[, array $params = NULL
]]] )
Abre un flujo IMAP a un buzón dado por mailbox.
Esta función también se puede usar para abrir flujos a servidores POP3 y NNTP, pero sólo algunas funciones y características están disponibles en servidores IMAP.
Parámetros
-
mailbox -
Un nombre de buzón consiste en una ruta de servidor y una de buzón para este servidor. El nombre especial INBOX permanece para los buzones personales de ususarios actuales. Los nombres de buzón que contienen caracteres internacionales además de aquellos imprimibles del espacio ASCII tienen que ser codificados con imap_utf7_encode().
La ruta del servidor, que está encerrada entre '{' y '}', consiste en los nombres de los servidores o direcciones ip, y el puerto opcional (prefijado por ':'), y una especificación de protocolo opcional (prefijada por '/').
La parte del servidor el obligatoria en todos los parámetros del buzón.
Todos los nombres que empiezan con { son nombres remotos, y están en la forma "{" nombre_sistema_remoto [":" puerto] [banderas] "}" [nombre_buzón] donde:
- nombre_sistema_remoto - -Nombre de dominio de internet o dirección IP del servidor entre corchetes.
- port - número de puerto TCP opcional, por omisión es el puerto por defecto para ese servicio
- flags - banderas opcionales, véase la siguiente tabla.
- mailbox_name - nombre del buzón remoto, por defecto es INBOX
Banderas opcionales para los nombres Bandera Descricpción /service=servicio servicio de acceso al buzón, por defecto es "imap" /user=usuario nombre de usuario remoto para identificar en el servidor /authuser=usuario usuario de autentificación remoto; si se especifica es el nombre de usuario cuya contraseña es usada (p.ej. administrador) /anonymous acceso remoto como usuario anónimo /debug grabar la telemetría de protocolo en el registro de depuración de la aplicación /secure no transmitir una contraseña en texto plano en la red /imap, /imap2, /imap2bis, /imap4, /imap4rev1 equivalente a /service=imap /pop3 equivalente a /service=pop3 /nntp equivalente a /service=nntp /norsh no usar rsh o ssh para establecer una sesión de IMAP preautenticada /ssl usar Secure Socket Layer (Capa de Conexión Segura) para encriptar la sesión /validate-cert validar certificados desde el servidor TLS/SSL (este es el comportamiento predeterminado) /novalidate-cert no validar certificador desde el servidor TLS/SSL, necesario si el servidor usa certificados autofirmados /tls forzar el uso de start-TLS para encriptar la sesión, y rechazar la conexión a servidores que no la soportan /notls no realizar start-TLS para encriptar la sesión, incluso con los servidores que la soportan /readonly petición de apertura de un buzón de sólo lectura (sólo IMAP; ignorado en NNTP, y un error con SMTP y POP3) -
username -
El nombre de usuario
-
password -
La contraseña asociada con
username -
options -
optionses una máscara de bits con uno o más de lo siguiente:-
OP_READONLY- Abrir un buzón de sólo lectura -
OP_ANONYMOUS- No usar o actualizar un .newsrc para noticias (sólo NNTP) -
OP_HALFOPEN- Para nombres IMAP y NNTP, abrir una conexión pero no abrir el buzón. -
CL_EXPUNGE- Expurgar el buzón automáticamente al cierre del mismo (véase también imap_delete() y imap_expunge()) -
OP_DEBUG- Depurar negociaciones de protocolo -
OP_SHORTCACHE- Almacenamiento en caché corto (sólo elt) -
OP_SILENT- No dejar pasar eventos (uso interno) -
OP_PROTOTYPE- Devolver el prototipo de controlador -
OP_SECURE- No realizar autenticación no segura
-
-
n_retries -
Número máximo de intentos de conexión
-
params -
Parámetros de conexión, las siguientes claves (cadena) pueden usarse para establecer uno o más parámetros de conexión:
- DISABLE_AUTHENTICATOR - Deshabilitar las propieades de autenticación
Valores devueltos
Devuelve un flujo IMAP en caso de éxito o FALSE en caso de error.
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.3.2 | Se añadió params |
| 5.2.0 | Se añadió n_retries |
Ejemplos
Ejemplo #1 Diferentes usos de imap_open()
<?php
// Para conectarse a un servidor IMAP que se ejecuta en el puerto 142 de la máquina local,
// haga lo siguiente:
$mbox = imap_open("{localhost:143}INBOX", "user_id", "password");
// Para conectarse a un servidor POP3 en el puerto 110 del servidor local, use:
$mbox = imap_open ("{localhost:110/pop3}INBOX", "user_id", "password");
// Para conectarse a un servidor SSL, IMAP o POP3, añada /ssl después de la especificación
// del protocolo:
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "user_id", "password");
// Para conectarse a un servidor SSL, IMAP o POP3, con un certificado autofirmado,
// añada /ssl/novalidate-cert después de la especificación del protocolo:
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "user_id", "password");
// Para conectarse a un servidor NNTP en el puerto 119 en el servidor local, use:
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// Para conectarse a un servidor remoto reemplace "localhost" con el nombre o la
// dirección IP del servidor al que se quiere conectar.
?>
Ejemplo #2 Ejemplo de imap_open()
<?php
$mbox = imap_open("{imap.example.org:143}", "username", "password");
echo "<h1>Buzones</h1>\n";
$carpetas = imap_listmailbox($mbox, "{imap.example.org:143}", "*");
if ($carpetas == false) {
echo "Llamada fallida<br />\n";
} else {
foreach ($carpetas as $val) {
echo $val . "<br />\n";
}
}
echo "<h1>Cabeceras en INBOX</h1>\n";
$cabeceras = imap_headers($mbox);
if ($cabeceras == false) {
echo "Llamada fallida<br />\n";
} else {
foreach ($cabeceras as $val) {
echo $val . "<br />\n";
}
}
imap_close($mbox);
?>