(Recuperado del viejo blog)
Varias veces he seguido las instrucciones de un artículo de Ralph Slooten titulado “GMail POP3 with Fetchmail” (GMail POP3 con Fetchmail, poco que traducir aquí). Y por temor a perderlo de mis marcadores del navegador y a que desaparezca el artículo me he decidido a copiarlo aquí, pero para aportar algo voy a traducirlo y agregar algún detalle que me he tenido que solventar respecto al original.
Cada cierto tiempo los certificados de GMail cambian (como todos) y ese día deja de funcionar Fetchmail y es necesario volver a hacer parte de este proceso para incluir los nuevos certificados y “huellas digitales” de Google. Es por eso que necesito realizar este proceso cada cierto tiempo.
El artículo en cuestión:
Introducción
Ahora GMail provee a los usuarios un buzón de correo de más de 7GB para guardar todos sus mensajes. Hay 3 métodos para acceder a dicho correo, el principal es http (la web), los otros son IMAP y POP3. La diferencia que lo hace único es que GMail solo permite conexiones SSL para POP3 y SMTP.
Este corto tutorial te mostrará como descargar tu correo automáticamente desde tu cuenta en GMail cada 5 minutos usando fetchmail.
Requisitos
GMail configurado para permitir descargar los mensajes mediante POP3 de tu cuenta: “Configuración => Reenvío y correo POP/IMAP” en la web de acceso a tu cuenta GMail.
- ca-certificates
- openssl, para instalar ambos paquetes en Ubuntu ejecuta:
sudo apt-get install openssl ca-certificates
- fetchmail con soporte SSL. Si no estas seguro de si tu fetchmail tiene soporte SSL, comprueba esto:
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7fb7000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb7fa2000)
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7f71000)
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7e6e000)
libc.so.6 => /lib/libc.so.6 (0xb7d56000)
libdl.so.2 => /lib/libdl.so.2 (0xb7d52000)
/lib/ld-linux.so.2 (0xb7feb000)
Si ves algo como “libssl.so.0 …” entonces lo tienes.
Configurando fetchmail
Necesitamos configurar el archivo ~/.fetchmailrc para revisar cada 5 minutos automáticamente si tenemos correo, y en tal caso descargarlo.
Por favor, “NO” compruebes el correo en periodos menores de tiempo, o Google puede bloquear o cancelar tu cuenta por sobrecargar sus sistemas. Para este ejemplo de fetchmail voy a usar como usuario del sistema “miusuario”, como dirección de Gmail “mandamespam@gmail.com”, y la clave “clavesecreta”:
set postmaster “miusuario”
# set polling time (5 minutes)
set daemon 600poll pop.gmail.com with proto POP3
user ‘mandamespam@gmail.com’ there with password ‘clavesecreta’ is miusuario here options ssl
options keep ssl sslfingerprint ’90:9A:84:92:E7:60:7C:A2:45:73:C9:11:D7:FE:7D:8A’
El dato “sslfingerprint” o “huella digital SSL” lo obtendremos con posterioridad a guardar el archivo ~/.fetchmailrc y ejecutar el comando:
fetchmail: Huella digital de la clave pop.gmail.com: 90:9A:84:92:E7:60:7C:A2:45:73:C9:11:D7:FE:7D:8A
…
Obtendremos este dato entre toda la información que nos brinda el programa al comienzo de la transacción. Si tienes muchos mensajes es posible que se pierda en el buffer del terminal este dato, así que en ese caso cancela el proceso pulsando Ctrl+C.
Intentando conectar a 209.85.229.109/995…conectado.
fetchmail: Organización emisora: Google Inc
fetchmail: «CommonName» del emisor: Google Internet Authority
fetchmail: «CommonName» del servidor: pop.gmail.com
fetchmail: Huella digital de la clave pop.gmail.com: 90:9A:84:92:E7:60:7C:A2:45:73:C9:11:D7:FE:7D:8A
fetchmail: Las huellas digitales de pop.gmail.com coinciden.
fetchmail: POP3< +OK Gpop ready for requests from 95.18.46.111 h32pf1499429wej.18
fetchmail: POP3> CAPA
fetchmail: POP3< +OK Capability list follows
fetchmail: POP3< USER
fetchmail: POP3< RESP-CODES
fetchmail: POP3< EXPIRE 0
fetchmail: POP3< LOGIN-DELAY 300
fetchmail: POP3< TOP
fetchmail: POP3< UIDL
fetchmail: POP3< X-GOOGLE-VERHOEVEN
fetchmail: POP3< X-GOOGLE-RICO
fetchmail: POP3< .
fetchmail: POP3> USER mandamespam@gmail.com
fetchmail: POP3< +OK send PASS
fetchmail: POP3> PASS *
fetchmail: POP3< +OK Welcome.
fetchmail: POP3> STAT
fetchmail: POP3< +OK 30 343662
fetchmail: POP3> LAST
fetchmail: POP3< -ERR Not supported
fetchmail: Not supported
fetchmail: POP3> UIDL
fetchmail: POP3< +OK
fetchmail: POP3< 1 GmailId12d09514c5dcb24f
…
omitiendo mensaje mandamespam@gmail.com@gmail-pop.l.google.com:30 no eliminado
fetchmail: POP3> QUIT
fetchmail: POP3< +OK Farewell.
fetchmail: 6.3.9-rc2 interrogando pop.gmail.com (protocolo POP3) en mar 29 mar 2011 23:25:43 CEST: consulta terminada
fetchmail: terminación normal, estado 1
La salida puede ser mas larga si tienes correo pendiente de descargar de Gmail. Este ejemplo tiene 30 mensajes, y como ves se conecta con éxito, y sale con éxito.
Si todo esto marcha bien, puedes iniciar el demonio de fetchmail con el comando:
teaser: Varias veces he seguido las instrucciones de un artículo de Ralph Slooten titulado “GMail POP3 with Fetchmail” (GMail POP3 con Fetchmail, poco que traducir aquí). Y por temor a perderlo de mis marcadores del navegador y a que desaparezca el artículo me he decidido a copiarlo aquí, pero para aportar algo voy a traducirlo y agregar algún detalle que me he tenido que solventar respecto al original.
Original del 29/3/2011