Hasta dia de hoy desconocía por completo la extensión IMAP pero no imaginaba que recuperar los mensajes de correo electrónico de mi cuenta de Gmail usando PHP fuese tan sencillo.
El código PHP que obtiene los correos electrónicos de Gmail:
<?
/**
* Recupera tus emails de Gmail a través de PHP y IMAP
*http://bezerik.es/me/recupera-tus-emails-de-gmail-a-traves-de-php-y-imap/
* *
* Idea original: Retrieve Your Gmail Emails Using PHP and IMAP.
* Url: http://davidwalsh.name/gmail-php-imap
*/
/* Configuracion del servidor IMAP */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'davidwalshblog@gmail.com';
$password = 'davidwalsh';
/* Intento de conexión */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
/* Recuperamos los emails */
$emails = imap_search($inbox,'ALL');
/* Si obtenemos los emails, accedemos uno a uno... */
if($emails) {
/* variable de salida */
$output = '';
/* Colocamos los nuevos emails arriba */
rsort($emails);
/* por cada email... */
$i=0;
foreach($emails as $email_number) {
/* Obtenemos la información específica para este email */
$overview = imap_fetch_overview($inbox,$email_number,0);
$message = imap_fetchbody($inbox,$email_number,2);
/* Mostramos la información de la cabecera del email */
$output.= '<li>';
$output.= '<div class="header '.($overview[0]->seen ? 'read' : 'unread').'">';
$output.= '<span class="subject">'.$overview[0]->subject.'</span> ';
$output.= '<span class="from"><pre>'.$overview[0]->from.'</pre></span>';
$output.= '<span class="date">on '.$overview[0]->date.'</span>';
$output.= '</div>';
/* Mostramos el mensaje del email */
$output.= '<div class="message" id="msg_'.$i.'"><pre>'.$message.'</pre></div>';
$output.= '</li>';
$i++;
}
echo '<ul class="emails">'.$output.'</ul>';
}
/* Cerramos la connexión */
imap_close($inbox);
?>
Asegúrate que tienes habilitado el servicio IMAP en tu cuenta de GMAIL.
- Entra a tu cuenta de Gmail.
- Accede el panel de “Configuración”.
- Selecciona la pestaña Reenvío y correo POP/IMAP.
- En la opción de “Acceso IMAP:” escoge la opción de “Habilitar IMAP”.

Demo
Como siempre, David Walsh nos sorprende con un ejemplo en donde aprovecha añadir Mootools para conseguir un efecto 2.0

agosto 25th, 2009 at 12:16
http://speckyboy.com/2009/08/21/50-of-the-best-ever-mootools-plugins-and-tutorials/
septiembre 27th, 2010 at 01:33
Estimado, eres el unico en todo internet que me enseño a primero habilitar el imap en la configuracion del mail, que pasa si lo quiero hacer con una cuenta de mi hosting que es pop como se hace, y es lenta la recuperacion se demora bastante, es necesario configurar algo en el cepanel del hosting?
saludos