A diario cuando entro a la internet, tengo que hacer tareas repetitivas como revisar el correo y muchas cosas más, así que me pregunté si habría alguna manera de poder revisar los correos sin tanto ajetreo.
Afortunadamente Gmail nos ofrece un sistema de feeds para poder acceder a nuestra bandeja de correo electrónico con una autenticación muy simple.
Para mayor información sobre las características la siguiente url ayudará un poco más http://mail.google.com/support/bin/answer.py?hl=en&answer=13474
Para esto la librería Curl incluída en PHP nos simplifica este proceso en un sencillo abrir y cerrar de ojos.
Veamos como implentaremos este método:
Para esto inicialmente debemos fijarnos si tenemos instalada la librería Curl. Vamos al phpinfo para revisar las librerías que tenemos.
(click en la imagen para agrandar)
Ahora, si no tenemos la librería no hay que preocuparnos ya que podemos descargarnos la librería desde la página de php.
Básicamente requiere para el funcionamiento dos archivos libeay32.dll, ssleay32.dll y para los usuarios que usamos windows pongo una transcripción directa de la misma página.
Nota: Nota para los usuarios de plataformas Windows Para activar este módulo en entornos Windows, se deben copiar los archivos libeay32.dll y ssleay32.dll que se encuentran en la carpeta DLL del directorio PHP/Win32 a la carpeta SYSTEM de Windows, que normalmente se encuentra en C:\WINNT\SYSTEM32 o C:\WINDOWS\SYSTEM.
También debemos agregar una línea extra en el php.ini para que todo funcione de la forma correcta.
(click en la imagen para agrandar)
Una vez realizado esto, reiniciamos el apache, luego vamos al phpinfo otra vez y nos fijamos si se activó todo de manera correcta.
Ahora si, vamos a lo mencionado anteriormente: revisar el email de gmail con Curl
La url que nos brinda gmail es la siguiente: https://mail.google.com/mail/feed/atom
Sobre esta url haremos todo el trabajo. Abrimos cualquier editor de textos y creamos un archivo php, dos variables, las cuales contendrán el nombre del usuario y la password.
$usuario=’miusuario’; //usuario sin el símbolo “@” ni la extensión gmail.com
$password=’nuestropassword’;
Luego crearemos una sesión curl y agregamos algunos parámetros extra. Para esto, hemos utilizado un método de la librería curl llamado curl_setopt
$inbox = curl_init (‘https://mail.google.com/mail/feed/atom’); //Inicializamos la sesión y lo asignamos a la variable $inbox
Necesitamos una serie de cabeceras para poder acceder totalmente a gmail y recuperar la información de los emails.
- CURLOPT_HTTPAUTH // Para la autenticación
- CURLOPT_RETURNTRANSFER //Necesitamos recuperar la información desde una cadena, y no directamente
- CURLOPT_USERPWD //Con este parámetro especificaremos el usuario y la password con la que queremos ingresar a revisar el email
- CURLOPT_FOLLOWLOCATION //Para seguir las cabeceras “Location:” que puede enviar el servidor junto con el resto de las cabeceras HTTP
- CURLOPT_SSL_VERIFYPEER //Para evitar que CURL verifique el certificado del otro extremo
- CURLOPT_SSL_VERIFYHOST //La opción CURLOPT_SSL_VERIFYHOST se debe establecer a TRUE o FALSE si la opción CURLOPT_SSL_VERIFYPEER está deshabilitada
- CURLOPT_HTTPHEADER // Envío de cabeceras
Las cabeceras aceptadas las enviamos en un array, para este caso he utilizado las siguientes cabeceras y las he puesto en una variable:
$cabeceras = array( "Host: mail.google.com", "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4", "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5", "Accept-Language: en-gb,en;q=0.5", "Accept-Encoding: text", "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7", "Date: ".date(DATE_RFC822) );
Aquí tenemos el archivo que muestra el contenido de la página php
(click en la imagen para agrandar)
Una vez puesto todo en orden, procedemos a alojarla en nuestro servidor local (No es necesario subirla a ningún host) y probemos cómo nos va.
He aquí una prueba con mi cuenta de gmail
(click en la imagen para agrandar)
La siguiente imagen es la prueba desde mi localhost de apache
(click en la imagen para agrandar)
Como vemos es bastante útil. Por ejemplo, yo la he puesto de página de inicio y además he puesto en un array todas las cuentas que poseo y sólo hago un bucle para revisarlas todas y ver si hay mensajes nuevos o no.
Eso fue todo y espero q haya sido de alguna utilidad =)











y donde descargo el codigo!
cuál código?