PHP

Descargar emails con IMAP y PHP

24/Mar/2011

En el artículo Descargar emails con POP3 y PHP ya vimos como acceder a nuestro email mediante POP3. Ahora vamos a ver qué pequeñas modificaciones hay que hacer para acceder a un servidor vía IMAP.

La principal modificación está en la definición del hostname que utilicemos al establecer la conexión con imap_open. Los servidores de correo suelen atender el protocolo IMAP por el puerto 143.

$hostname = '{aulambra.com:143/imap/ssl}INBOX';
$username = '[email protected]';
$password = 'password';
 
$inbox = imap_open($hostname,$username,$password) or die('Ha fallado la conexión: ' . imap_last_error());

En este caso este servidor de email necesita de una conexión segura. Es por ello que utilizamos el flag /ssl.

El resto de pasos son iguales que con POP3. Hacemos el filtrado de mensajes mediante imap_search:

$emails = imap_search($inbox,'ALL');

El siguiente paso será recorrerlos accediendo a su cabecera con imap_fetch_overview:

foreach($emails as $email_number) {
  $overview = imap_fetch_overview($inbox,$email_number,0);
  $salida.= 'Tema: '.$overview[0]->subject;
  $salida.= 'De: '.$overview[0]->from;
}

Y por último no se nos puede olvidar la conexión con imap_close:

imap_close($inbox);

Lo mejor que puedes hacer es ver todo el código para descargar emails con IMAP y PHP y jugar con él.

Suscribir
Notificar de
guest
4 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios