fdm (Español)

Esta traducción de
Fdm
fue revisada el
2020-12-03
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
Alpine
msmtp
Mutt
Postfix
sSMTP
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
Instale
el paquete
fdm
.
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:
#> foo@example.com
#> bar@gmail.com
## 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 "foo@example.com" pass "supersecret"

account "bar" imaps server "imap.gmail.com"
        user "bar@gmail.com" 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).
Sugerencia
También puede especificar su nombre de inicio de sesión y/o contraseña en el archivo
.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
bar@gmail.com
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
bar@gmail.com
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