Página siguiente Página anterior Índice general

12.4 Recogida de correo: Fetchmail

Si con programas como sendmail es posible enviar el correo a nuestra máquina estando desconectados de Internet para su posterior distribución cuando se conecte a la Red, con Fetchmail es posible hacer el proceso inverso, es decir, recoger TODO el correo de todos los servidores POP o IMAP deseados para su posterior recogida desde nuestra máquina y lectura en modo desconectado.

Fetchmail es el daemon encargado de la recogida de correo, para posteriormente pasárselo a sendmail, que es quien lo distribuye. La forma más sencilla de configurar fetchmail es creando un fichero .fetchmailrc en el directorio personal del usuario (ya sea /home/usuario o incluso /root), de forma que sea el mismo usuario quien recoja el correo y se lo pase al usuario/usuarios que deban leerlo. Dicho fichero tiene un formato como el que sigue:

  defaults
  fetchall
  flush
  pass8bits

  poll servidor_de_correo
  proto pop3
  user usuario
  pass password
  to usuario_local
(pueden haber más bloques poll/proto/user/pass/to si hay mas servidores de correo de donde deseemos recoger el mismo)

Las opciones incluidas en este fichero son las siguientes:

Un ejemplo de fichero .fetchmailrc para un usuario sromero@arrakis.es en /home/sromero sería el siguiente:

  defaults
  flush
  fetchall
  pass8bits
  poll pop.arrakis.es
  proto pop3
  user sromero@arrakis
  pass mipassword
  to sromero
Además, este fichero tiene que tener unos permisos de lectura/escritura concretos, debido a que posee nuestro password de correo, cosa que se realiza con la orden chmod:
  [sromerolocalhost sromero]#   chmod 0600 .fetchmailrc
La forma de recoger el correo es, estando conectado, ejecutar la orden "fetchmail".

Por último, podemos hacer que fetchmail corra en forma de demonio (el equivalente en MSDOS sería como un programa residente), y que recoja el correo sólo cada X segundos, cosa muy sencilla de realizar añadiendo la siguiente opción al fichero .fetchmailrc:

  set daemon X
 
  (ejemplo: set daemon 300)
Esto haria que fetchmail buscara correo nuevo cada 300 segundos sin necesidad de ser lanzado por nuestra parte con el comando "fetchmail".

Una vez recogidos los mensajes (ya sea en forma manual o como daemon), éstos son depositados por sendmail en /var/spool/mail, de manera que puedan ser accedidos por cualquier programa de correo del sistema (mailx, pine, y, como veremos ahora, Netscape). Simplemente debemos configurar nuestro cliente de correo especificando como servidor POP nuestra propia máquina (localhost, 127.0.0.1, etc). Tras haber recogido todos los mensajes con fetchmail y ya desconectados de la Red, en el cliente de correo (por ejemplo Netscape) le damos a GET NEW MESSAGES (Obtener nuevos mensajes) y aparecerán ante nosotros los emails recogidos por fetchmail dispuestos para ser respondidos totalmente offline.


Página siguiente Página anterior Índice general