fdm (Español)
fdm (fetch and deliver mail), es un programa simple para entregar y filtrar correo. Al compararlo con otras aplicaciones con el mismo propósito muestra que tiene similitudes muy orientadas a los principios de diseño de Mutt.
Instalación
Configuración
fdm admite el probado formato mbox junto con la nueva especificación maildir.
mbox
Alpine utiliza el formato mbox, por lo que se necesita configurar algunos archivos:
$ cd $ mkdir mail $ touch mail/INBOX .fdm.conf $ chmod 600 .fdm.conf mail/INBOX
maildir
Mutt prefiere un directorio de correo capitulado y puede usar el formato maildir. Si planea utilizar Mutt, haga la siguiente configuración:
$ cd $ touch .fdm.conf; chmod 600 .fdm.conf $ mkdir -p Mail/INBOX/{new,cur,tmp}
Configuración final
Modifique .fdm.conf
, y añada sus cuentas de correo electrónico y reglas básicas de filtrado. Utilice mbox o maildir, pero no ambos.
## .fdm.conf ## Accounts and rules for: #> [email protected] #> [email protected] ## Last edit 21-Dec-09 # Catch-all action (mbox): action "inbox" mbox "%h/mail/INBOX" # Catch-all action (maildir): # action "inbox" maildir "%h/Mail/INBOX" account "foo" imaps server "imap.example.com" user "[email protected]" pass "supersecret" account "bar" imaps server "imap.gmail.com" user "[email protected]" pass "evenmoresecret" # Match all mail and deliver using the 'inbox' action. match all action "inbox"
Esto recopilará el correo de las cuentas listadas y lo entregará a la carpeta de INBOX que creemos. Consulte la página de manual fdm(1) para obtener información específica sobre como conectarse a otros tipos de servidores de correo (POP3, por ejemplo).
.netrc
.Pruebas
Una vez que tenga esta configuración a su gusto, intente recoger su correo ejecutando fdm manualmente.
$ fdm -kv fetch
Esto mantendrá su correo intacto en el servidor en caso de que haya errores. Revise la salida para asegurarse de que todo funcionó según lo planeado. Abra su lector de correo favorito (MUA) y asegúrese de poder leer el correo que se acaba de entregar.
Utilización extendida
Filtrado adicional
Si desea que el correo de una determinada cuenta vaya a un buzón específico, puede añadir las siguientes líneas a su archivo fdm.conf. Desde el archivo de configuración anterior, si quisiera filtrar el correo de [email protected]
en su propia carpeta bar-mail
, añadiría esto debajo de la línea "action" (acción) existente:
action bar-deliver mbox "%h/mail/bar-mail"
Cambie el mbox
a maildir
si es necesario, también asegúrese de que la ruta sea correcta.
Para activar la nueva acción, añada esto antes de la línea "match" (coincidencia) existente:
match account bar action bar-deliver
Tras esto, todo el correo a [email protected]
se colocará en la carpeta de correo bar-mail
.
Automatización
Dado que fdm no se ejecuta como un demonio, la recuperación de correo cronometrada se deja a los planificadores de trabajos como cron o Systemd/Timers.
Esta sección mostrará implementaciones para ambos.
Cron
Obtenga y clasifique el correo de todas las cuentas cada 15 minutos, añadiendo un registro de todas las coincidencias a un archivo local:
$ crontab -e
... */15 * * * * fdm fetch >> $HOME/[Mm]ail/fdm.log
Systemd Timer
Configure el servicio fdm para que el usuario local busque y ordene el correo de todas las cuentas:
${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user/fdm.service
[Unit] Description=Fetch mail using fdm After=network.target network-online.target dbus.socket Documentation=man:fdm(1) [Service] Type=oneshot ExecStart=/usr/bin/fdm fetch
Luego configure el temporizador para ejecutar el servicio cada 15 minutos:
${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user/fdm.timer
[Unit] Description=Fetch mail using fdm [Timer] # Descomente para ejecutar el servicio dos minutos después del arranque # OnBootSec=2m OnUnitActiveSec=15m Persistent=true [Install] WantedBy=timers.target
Por último:
$ systemctl --user daemon-reload $ systemctl --user start fdm.timer