Jul
11
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