GNU/Linux >> Tutoriales Linux >  >> Panels >> Webmin

Recuperación de correo Fetchmail

Esta página explica cómo configurar la Recuperación de correo de Fetchmail programa para descargar correo electrónico de otro servidor y enviarlo a direcciones en su sistema.

Contenido

Introducción a Fetchmail

Fetchmail es un programa relativamente simple que descarga correo electrónico de otro servidor mediante el protocolo POP3 o IMAP y lo envía a un buzón de su sistema. Es más útil si desea ejecutar su propio servidor de correo, pero por alguna razón no puede recibir el correo directamente. La solución es hacer que Fetchmail descargue el correo electrónico periódicamente usando un protocolo como POP3, y luego conectarse al servidor SMTP en su sistema para recibirlo como si fuera enviado directamente.

Si su sistema es una conexión de acceso telefónico a Internet que solo está activa ocasionalmente, por lo general no es posible recibir el correo directamente. Lo mismo se aplica si no tiene una dirección IP fija. En situaciones como esta, aún es posible ejecutar su propio dominio y servidor de correo electrónico enviando el correo de su dominio a un buzón de su ISP y luego usando Fetchmail para transferirlo periódicamente a su sistema.

Incluso si no tiene su propio dominio de Internet, Fetchmail aún se puede usar para descargar correo electrónico desde una cuenta de correo electrónico en el dominio de su ISP. Muchos clientes de correo como pine, elm y Usermin leen el archivo de correo de Unix en /var/mail directamente, en lugar de descargar mensajes a través del protocolo POP3 o IMAP. Para usar uno de estos programas, el correo electrónico debe descargarse a su sistema y enviarse a un usuario local.

Fetchmail puede descargar correo electrónico de múltiples buzones en diferentes servidores y enviarlo a diferentes direcciones en su sistema. Si el correo electrónico a todas las direcciones de un dominio se ha combinado en un solo buzón, Fetchmail generalmente puede separarlo para enviarlo a los usuarios correctos en su sistema. Esta es posiblemente su característica más útil, pero desafortunadamente no es 100% confiable.

El programa Fetchmail puede recuperar correo utilizando los protocolos POP2, POP3 e IMAP, uno de los cuales será compatible con casi todos los servidores de correo. También puede usar el modo ETRN del protocolo SMTP para obligar a un servidor de correo a entregar todos los mensajes en cola que están esperando ser entregados a su sistema. Desafortunadamente, no admite la recuperación de correo de sistemas de correo electrónico propietarios como Exchange o Lotus Notes, o de servicios de correo electrónico basados ​​en web como Hotmail, a menos que también admitan uno de los protocolos estándar.

Para realizar comprobaciones periódicas, Fetchmail suele ejecutarse como un proceso demonio en segundo plano que se conecta a todos los servidores de correo a intervalos regulares. Alternativamente, se puede ejecutar desde un trabajo de Cron en las fechas y horas que elija, o incluso se puede iniciar manualmente desde la línea de comandos o algún otro script.

Fetchmail a menudo lo ejecutan usuarios individuales en lugar del administrador del sistema, cada uno con su propio archivo de configuración .fetchmailrc separado en su directorio de inicio. Debido a que no requiere privilegios de raíz para ejecutarse, en un sistema Unix multiusuario, cada usuario puede configurar de forma segura Fetchmail para descargar correo desde sus propios buzones de correo remotos. Esto significa que cada usuario puede tener su propio proceso de daemon de Fetchmail en ejecución que utiliza su propia configuración.

Alternativamente, se puede usar un solo archivo de configuración y Fetchmail se puede ejecutar como raíz para descargar el correo electrónico para todos los usuarios de su sistema. Esta opción tiene más sentido si usted es el único usuario de su caja de Linux, o si está descargando el correo electrónico de un dominio completo para redistribuirlo a los usuarios locales. Normalmente, /etc/fetchmailrc se utiliza como archivo de configuración global.

De hecho, es posible que Fetchmail se ejecute en archivos de configuración de usuarios individuales y en un archivo global a la vez. Sin embargo, el módulo Webmin para configurarlo espera que uses un modo u otro.

El módulo de recuperación de correo Fetchmail

El módulo de Webmin para administrar Fetchmail se puede encontrar en la categoría Servidores. Cuando haga clic en su icono por primera vez, la página principal mostrará las configuraciones de Fetchmail de todos los usuarios de su sistema. Para cada usuario que tiene un .fetchmailrc en su directorio de inicio, el nombre del usuario y todos los servidores de su archivo se muestran junto con el protocolo utilizado para conectarse a cada uno y los usuarios con los que iniciar sesión. La figura 33-1 muestra un ejemplo.


La página principal del módulo Fetchmail

Si Webmin no puede encontrar el programa fetchmail, la página principal mostrará un mensaje de error. Esto puede deberse a que no está instalado o a que el módulo está mirando en el lugar equivocado. La mayoría de las distribuciones de Linux vienen con un paquete para Fetchmail:consulte el CD o el sitio web y use el módulo Paquetes de software para instalarlo.

Si desea administrar solo un archivo de configuración de Fetchmail en su sistema, ahora es el momento de cambiar el módulo a ese modo. A menos que desee administrar las configuraciones de todos los usuarios en su sistema, esta es la mejor opción. Le permite configurar un proceso daemon para verificar y descargar periódicamente el correo electrónico a los buzones de correo locales, que es para lo que la mayoría de los administradores usan Fetchmail.

Para cambiar el módulo para usar un solo archivo, siga estos pasos :

  1. Haga clic en Configuración del módulo enlace en la esquina superior izquierda de la página principal.
  2. En el archivo de configuración de Fetchmail para editar seleccione el segundo botón de radio e ingrese la ruta del archivo de configuración en el campo al lado. Si ya tiene un archivo de configuración de Fetchmail, naturalmente debe ingresar su ruta; de lo contrario, /etc/fetchmailrc funcionará bien.
  3. Haga clic en Guardar botón en la parte inferior del formulario para actualizar la configuración del módulo y volver a la página principal.

En el modo de archivo de configuración único, solo los servidores de ese archivo se mostrarán en la página principal bajo el nombre del archivo. Debajo de ellos hay un formulario para iniciar el demonio Fetchmail para verificar regularmente los servidores y cuentas enumerados, como se explica con más detalle más adelante en este capítulo.

Debido a que el módulo no admite el inicio del demonio Fetchmail para usuarios individuales, si lo está utilizando para administrar varios archivos de configuración individuales, deberá crear un trabajo Cron o iniciar un demonio para la configuración de cada usuario. El método más sencillo es usar el módulo Trabajos cron programados para crear un trabajo para cada usuario que ejecute el comando fetchmail en el horario que elija. Una vez cada 30 minutos o media hora suele ser suficiente, dependiendo de la cantidad de correo electrónico que reciba. El programa fetchmail usará por defecto el archivo ~/.fetchmailrc en el directorio de inicio del usuario que lo ejecuta.

Otro paquete que los usuarios pueden usar para administrar sus propias configuraciones de Fetchmail e incluso iniciar sus propios demonios en Usermin, que está estrechamente relacionado con Webmin.

Debido a que Fetchmail está disponible y funciona casi igual en todas las variedades de Unix, este módulo también se comporta de la misma manera. La única diferencia es Verificar condición El campo para desactivar la verificación de si una interfaz de red en particular está inactiva no funcionará en sistemas operativos que no sean Linux y FreeBSD, al menos con la versión actual de Fetchmail. Aunque el campo siempre aparece, no debe usarse en otras versiones de Unix.

Agregar un nuevo servidor de correo para verificar

Antes de que Fetchmail descargue el correo electrónico de un servidor de correo, se debe agregar una entrada a su configuración. Los pasos para hacerlo son:

  1. En la página principal del módulo, haga clic en Agregar un nuevo servidor enlace debajo de la tabla de servidores existentes. Si está administrando configuraciones de múltiples usuarios, debe usar el enlace en la sección para el usuario a cuya lista desea agregar el servidor. Alternativamente, Agregar servidor Fetchmail para el usuario El botón se puede usar para agregar un servidor al usuario ingresado en el campo adyacente. Este método debe usarse si el usuario aún no tiene ningún servidor definido.
  2. No importa qué vínculo o botón utilice, se mostrará el formulario que se muestra en la captura de pantalla a continuación para ingresar los detalles del nuevo servidor.
  3. En el Nombre del servidor campo, ingrese un nombre único para esta entrada del servidor de correo. Por lo general, este será su nombre de host real, como mail.yourisp.com .
  4. Si desea que este servidor se verifique según lo programado, asegúrese de que la opción Polling esté habilitada? el campo está establecido en . De lo contrario, solo se verificará si se ejecuta manualmente desde Webmin o en el enlace de comando.
  5. El servidor de correo a contactar El campo es útil si necesita conectarse a más de un puerto o protocolo en el mismo host. Porque el Nombre del servidor debe ser único, solo puede crear dos entradas para el mismo servidor de correo real ingresando diferentes valores para el nombre del servidor (como mail.yourisp.com-1 y correo.yourisp.com-2 ) e ingresando el nombre de host real para el servidor en este campo. Sin embargo, esta situación es bastante rara, por lo que normalmente puede dejar este campo establecido en Igual que el nombre del servidor .
  6. Del Protocolo menú, seleccione el protocolo de recuperación de correo a utilizar para este servidor. Los más comunes son POP3 e IMAP. Su ISP o administrador del servidor de correo podrá decirle cuál usar.
  7. Si el servidor de correo utiliza un puerto no estándar para el protocolo elegido, la opción Predeterminado no funcionará para el campo *Puerto del servidor*. En su lugar, debe ingresar el número de puerto correcto, como 1110 .
  8. La condición de verificación El campo se puede usar para evitar la verificación periódica de este servidor si una interfaz de red está inactiva. Esto es útil si tiene una conexión de acceso telefónico a Internet que solo está activa ocasionalmente y desea evitar intentos inútiles de conectarse al servidor de correo cuando no está activo. Si Marcar siempre es elegido, Fetchmail siempre intentará conectarse. Sin embargo, si Solo si la interfaz está activada está seleccionado, no se realizará ninguna conexión si la interfaz de red ingresada en el campo al lado está inactiva. Su interfaz PPP principal para acceso telefónico normalmente se llama ppp0. Consulte el módulo Configuración de red para obtener una lista de las interfaces activas. Además de un nombre de interfaz, debe ingresar una red y una máscara de red para especificar un rango de direcciones locales válidas para que se realice la verificación de la interfaz. Esto puede ser útil si llama a varios ISP diferentes, pero solo desea que Fetchmail verifique si hay correo cuando se conecta a uno en particular. La mayoría de los ISP asignan direcciones dentro de una determinada red de clase C o B a todos los clientes, como 203.51.0.0/255.255.0.0 . Para permitir que Fetchmail verifique mientras la interfaz esté activa, sin importar la dirección IP que tenga, simplemente ingrese 0.0.0.0 en los campos de red y máscara de red. Esto cubre todas las direcciones posibles.
  9. En los Detalles de usuario del servidor de correo sección, ingrese el nombre de inicio de sesión para conectarse al servidor de correo como en Usuario remoto campo.
  10. Ingrese la contraseña correcta para el usuario en la Contraseña remota campo.
  11. Los usuarios locales El campo es para ingresar la dirección de correo electrónico para enviar los mensajes recuperados. Por lo general, este es un nombre de usuario local como jcameron , pero también puede ser una dirección en otro servidor como [email protected] . También es posible ingresar varios nombres de usuario, en cuyo caso Fetchmail intentará averiguar para cuál de esos nombres es cada mensaje descargado. Esto es útil si tiene correo electrónico para varias direcciones reenviadas al mismo buzón en el servidor de correo de su ISP y desea dividir los mensajes recuperados para enviarlos a los buzones locales correctos. Si Fetchmail encuentra un mensaje cuyo destinatario no está en la lista, se devolverá al remitente. La alternativa final es ingresar _*_ en Usuario(s) local(es) campo, que le dice a Fetchmail que entregue cada mensaje al usuario local en su sistema cuyo nombre es el mismo que el nombre de usuario es parte de la dirección de destino del mensaje.
  12. Si desea que Fetchmail elimine los mensajes del servidor de correo después de descargarlos, configure ¿Dejar mensajes en el servidor? campo a No . A menos que se utilice otro cliente de correo para acceder al buzón, esta es la mejor opción, ya que evita que se almacene una copia adicional de cada mensaje en el servidor de su ISP, que puede tener un límite en el tamaño de los archivos de correo. Seleccionando hace que Fetchmail realice un seguimiento de los mensajes recibidos y solo descargue aquellos en el buzón que son nuevos. En efecto, está sincronizando el buzón remoto con uno local, excepto que los mensajes eliminados en el servidor no se eliminarán localmente.
  13. Si guarda mensajes en el servidor remoto, el campo *¿Recuperar siempre todos los mensajes?* debe establecerse en No. . De lo contrario, configúrelo en para garantizar que se descarguen todos los mensajes del buzón.
  14. El Comando a ejecutar antes de conectarse El campo se puede usar para ingresar un comando de shell que será ejecutado por Fetchmail justo antes de conectarse al servidor de correo. Uno de los usos más comunes de esta función es ejecutar un comando para configurar un túnel SSH para permitir el acceso a un servidor al que no puede conectarse directamente. Sin embargo, esto puede ser bastante complejo, por lo que no se trata aquí. Por lo general, este campo se puede dejar vacío.
  15. De manera similar, el Comando para ejecutar después de desconectar El campo es para ingresar un comando de shell que se ejecutará después de que Fetchmail cierre la sesión del servidor de correo remoto. A menudo se usa para eliminar el proceso SSH iniciado por el comando 'before'.
  16. Finalmente, haga clic en Crear botón para guardar el nuevo servidor. Se utilizará a partir de ahora cada vez que se ejecute Fetchmail cuando realice una comprobación periódica.


El formulario de creación del servidor

Una vez que haya creado una nueva entrada en el servidor, aparecerá en la lista de la página principal del módulo. Para editarlo, simplemente haga clic en el nombre del servidor en el Servidor para sondear columna, que abrirá el formulario de edición en su navegador. Cambie cualquiera de los campos y haga clic en Guardar para actualizar el archivo de configuración de Fetchmail.

Los servidores se pueden eliminar presionando Eliminar botón en el formulario de edición. Sin embargo, normalmente es mejor cambiar la opción ¿Encuesta habilitada? campo a No , que deshabilita efectivamente el servidor. Fetchmail no se conectará a él a menos que le indique explícitamente que verifique ese servidor, como se explica en la sección Descarga de correo electrónico abajo.

Es posible hacer que Fetchmail verifique más de un buzón en el mismo servidor y entregue correo desde buzones adicionales a diferentes usuarios. Esto podría hacerse creando múltiples entradas de configuración para el mismo servidor, pero hay un método mejor y más simple:

  1. En la página principal del módulo, haga clic en el nombre del servidor al que desea agregar un buzón de correo adicional para verificar.
  2. Haga clic en Agregar otro usuario botón. El formulario de edición se volverá a mostrar, pero con un Detalles de usuario del servidor de correo vacío adicional sección en la parte inferior.
  3. Rellene el Usuario remoto vacío , Contraseña remota , Usuario(s) local(es) y otros campos en la nueva sección, como se explica en los pasos anteriores.
  4. Presiona Guardar botón. Volverá a la página principal del módulo y los nuevos nombres de usuario locales y remotos se mostrarán junto al servidor.

Aunque su capacidad para extraer correo para múltiples usuarios desde un solo buzón es una de las características más útiles de Fetchmail, no es 100% confiable. No hay forma de que el programa pueda determinar con precisión a qué dirección se envió un correo electrónico en todos los casos. Normalmente, el encabezado Para:o CC:contendrá la dirección de destino, pero este no es el caso para los mensajes recibidos de las listas de correo; en cambio, el encabezado Para:contiene la dirección de la lista. Hay otros encabezados de correo que Fetchmail intenta verificar para encontrar la dirección de destino real de un mensaje, pero no siempre están disponibles.

Cuando un mensaje de correo electrónico se envía directamente a un servidor a través del protocolo SMTP, el sistema de origen informa al servidor de destino de la dirección de destino real del mensaje. Desafortunadamente, la dirección no tiene que estar en el mensaje real; en su lugar, se especifica como parte de la conversación SMTP entre los servidores. Cuando el correo electrónico se envía a un buzón, esta información se pierde y no se puede recuperar con precisión.

Solo cuando Fetchmail descarga el correo electrónico de un buzón y lo entrega a un solo destinatario, se garantiza que hará lo correcto. En este caso, nunca tiene que comprobar la dirección de destino de cada mensaje, ya que todos se envían a un único buzón local.

Descargando correo electrónico

Una vez que haya creado al menos una entrada en el servidor, puede usar este módulo para que Fetchmail se conecte al servidor y descargue mensajes. El módulo se puede usar para recuperar el correo electrónico de todos los servidores en un archivo de configuración, o solo de un servidor. Para consultarlos todos, los pasos a seguir son:

  1. En la página principal del módulo, haga clic en Comprobar todos los servidores enlace debajo de la tabla de servidores. Si está administrando las configuraciones de varios usuarios, este enlace aparecerá debajo de la tabla para cada usuario.
  2. Aparecerá una página que muestra el resultado del comando fetchmail, para que pueda ver el intercambio de protocolos POP3 o IMAP entre su sistema y los servidores de correo remotos a medida que Fetchmail descarga mensajes. Si ocurre un error (como una falla en la conexión o una contraseña incorrecta), podrá verlo en la salida.
  3. Los mensajes descargados se enviarán a las direcciones locales especificadas en la entrada de configuración del servidor. De forma predeterminada, el correo se enviará mediante una conexión SMTP al servidor de correo de su sistema. Los comandos reales del protocolo SMTP utilizados para entregar el correo se mostrarán en la página de salida, para que pueda ver si se produce algún error. La entrega puede fallar si no hay un servidor de correo ejecutándose en su sistema, o si no accede al correo electrónico para la dirección local especificada. Si esto sucede, Fetchmail intentará enviar un mensaje de devolución al remitente.

También es posible verificar el correo en un solo servidor, incluso uno que tenga la función Polling habilitada? campo establecido en No . El proceso para hacer esto es:

  1. En la página de manual del módulo, haga clic en el nombre del servidor para abrir su formulario de edición.
  2. Haga clic en Comprobar este servidor botón en la parte inferior de la página.
  3. Se mostrará una página que muestra el resultado de Fetchmail a medida que descarga y entrega los mensajes, como se describe anteriormente.

Ejecutar el demonio Fetchmail

Si está utilizando el módulo para administrar un solo archivo de configuración de Fetchmail, es posible iniciar un proceso en segundo plano para verificar regularmente los servidores y buzones en ese archivo. Los pasos para hacerlo son:

  1. En la parte inferior de la página principal hay un botón llamado Iniciar demonio de Fetchmail . En la descripción al lado hay un campo de texto para ingresar la cantidad de segundos que el daemon debe esperar entre comprobaciones. Un período corto (como 60 segundos) significa que recibirá el correo electrónico antes, pero a costa de más ancho de banda y más tiempo de CPU utilizado por la verificación frecuente.
  2. Después de ingresar un período de verificación, presione Iniciar daemon de Fetchmail botón para iniciar el proceso de recuperación de correo en segundo plano. La página volverá a mostrarse, pero con el botón ahora etiquetado como Detener Fetchmail Daemon .

Como sugiere el nombre, puede hacer clic en el nuevo Parar en cualquier momento para eliminar el proceso del demonio en ejecución. Cuando el módulo detecta que ya no se está ejecutando, el Inicio el botón aparecerá de nuevo.

Si su sistema se reinicia, el demonio Fetchmail, por supuesto, se detendrá. Para que se inicie de nuevo automáticamente en el momento del arranque, deberá crear una acción de arranque como se explica en Arranque y apagado. Esta acción debe ejecutar el comando fetchmail -d intervalo -f archivo de configuración , con intervalo reemplazado por el período de verificación y archivo de configuración con la ruta completa al archivo de configuración.

Editar configuraciones globales

El módulo Fetchmail también se puede usar para editar opciones que se aplican a todos los servidores en un archivo de configuración. Esto puede ser útil para evitar que se contacte a cualquiera si una interfaz de red está inactiva, o para definir un protocolo predeterminado. Para editar estas opciones globales, los pasos a seguir son:

  1. En la página principal del módulo, haga clic en Editar configuración predeterminada enlace debajo de la tabla de servidores. Si el módulo se utiliza para administrar las configuraciones de Fetchmail de múltiples usuarios, este enlace aparecerá debajo de la tabla para cada usuario que tenga servidores definidos. De cualquier manera, su navegador mostrará una página para editar opciones globales.
  2. Para establecer un protocolo predeterminado para todos los servidores, seleccione uno del Protocolo menú. Los más comunes son POP3 e IMAP, y el primero se usa si el Predeterminado se selecciona la opción. Cuando el Protocolo el campo en el formulario de edición o creación del servidor está establecido en Predeterminado , entonces se utilizará el protocolo seleccionado aquí.
  3. Para definir un puerto predeterminado para que se conecte Fetchmail, complete el Puerto del servidor campo. Por lo general, es mejor dejar este ajuste en Predeterminado sin embargo, en cuyo caso el programa utilizará el puerto apropiado para el protocolo seleccionado para cada servidor. Solo cuando el Puerto del servidor el campo en el formulario del servidor está establecido en Predeterminado ¿Se usará el valor ingresado aquí? De lo contrario, se anulará para ese servidor con lo que ingrese.
  4. La condición de verificación El campo se puede usar para evitar que Fetchmail se conecte a cualquier servidor si una interfaz en particular está inactiva o no tiene la dirección IP correcta. Las instrucciones en Agregar un nuevo servidor de correo para verificar La sección anterior explica cómo funciona este campo y qué ingresar. Establecer la verificación condicional globalmente tiene más sentido que configurarla repetidamente para servidores individuales, ya que es probable que se pueda acceder a los servidores que Fetchmail está verificando a través de la misma conexión de red.
  5. Haga clic en Guardar para activar la nueva configuración global.

Cuando está utilizando el módulo para administrar las configuraciones de Fetchmail de varios usuarios, no hay forma de definir opciones que se apliquen a todos los usuarios, solo la configuración global para un solo usuario a la vez.

Control de acceso a módulos

Como explica Webmin Users, es posible restringir lo que un usuario de Webmin puede hacer con un módulo al que se le ha otorgado acceso. Para el módulo de Fetchmail, puede limitar los usuarios de Unix para los que puede editar las configuraciones de Fetchmail. Una vez que se ha creado un usuario, los pasos para restringir aún más el acceso son:

  1. En el módulo Usuarios de Webmin, haga clic en Recuperación de correo de Fetchmail junto al nombre del usuario. Esto abrirá el formulario de control de acceso al módulo.
  2. Cambie el campo ¿Puede editar la configuración del módulo? a No , para evitar que el usuario de Webmin cambie el módulo al modo de archivo único o cambie la ruta al programa Fetchmail.
  3. Puede editar la configuración de fetchmail para determina para qué usuarios de Unix este usuario de Webmin puede editar los servidores de Fetchmail. Las opciones disponibles y sus significados son:Todos los usuarios Se puede editar la configuración de cualquier usuario. Este es el valor predeterminado. Usuario actual de Webmin Solo se puede editar el usuario de Unix cuyo nombre de usuario es el mismo que el usuario de Webmin. Esta opción puede ser útil para permitir que las personas editen su propia configuración de Fetchmail, aunque el programa Usermin es una mejor alternativa. Solo usuarios Solo se pueden editar las configuraciones de los usuarios ingresados ​​en el campo de texto junto a esta opción. Todos excepto los usuarios Se puede editar la configuración de Fetchmail para todos los usuarios excepto aquellos que ingresan en el campo de texto adyacente.
  4. Haga clic en Guardar para activar las restricciones del nuevo módulo.

Este tipo de control de acceso solo es útil si el módulo se ha configurado para permitir la edición de archivos .fetchmailrc individuales. En el modo de archivo de configuración único, no se aplican restricciones.

Configuración

Configuración de Fetchmail

En caso de problemas...

En los servidores habilitados para SELinux, es fácil configurar incorrectamente Postfix/Dovecot/Fetchmail de tal manera que Fetchmail no funcione como se esperaba. Inicie sesión como raíz, apague temporalmente SELinux mediante:

setenforce 0

Si Fetchmail comienza a funcionar, ya sabe por dónde empezar a depurar...


Webmin
  1. Recuperación de correo Fetchmail

  2. Filtro de correo Procmail

  3. Servidor de correo QMail

  4. Correo de evolución de copia de seguridad?

  5. Configurar una retransmisión de correo

Servidor Dovecot IMAP/POP3

Servidor de correo Postfix

Leer correo de usuario

Servidor de correo Sendmail

Filtro de correo SpamAssassin

Configurar el correo de Mac