Me gustaría descargar todos los correos electrónicos en mi antiguo servidor de correo electrónico. Utiliza POP3 y me interesan los correos electrónicos en las carpetas "Bandeja de entrada" y "Enviados". Una vez que haya descargado todos los mensajes, me gustaría crear un script que enumere todos los correos electrónicos entre mi dirección de correo electrónico y una determinada dirección de correo electrónico en forma cronológica en un solo archivo de texto.
Sin embargo, al principio creo que necesito descargar todos los mensajes en un solo archivo con encabezados que incluyan fechas y luego crear un script de clasificación. ¿Cómo abordar esto?
He usado mailx en scripts para enviar correos electrónicos, pero ¿es posible usar mailx para descargar todos los correos del servidor POP3 en un solo archivo?
Respuesta1
El mailx tradicional no soporta IMAP ni POP, pero el que viene con Linux sí.
Para su problema particular, recomiendo usar fetchmail
en su lugar. Puedes usar el--mda
opción para fetchmail
ejecutar un script de su elección para cada mensaje descargado. Incluso puede pasar las direcciones Desde y Hasta como parámetros a su script si usa %F
y %T
como marcadores de posición en la línea de comando.
Primero, crea un mailsorter
script:
#!/bin/sh
dest_mbox="$1"
from="$2"
to="$3"
case "$from-$to" in
[email protected])
echo "From $from `date`" >> "$dest_mbox"
cat >> "$dest_mbox"
;;
*)
cat > /dev/null
;;
esac
Entonces correfetchmail -u myname popserver.example.com --mda './mailsorter /tmp/mbox %F %T'
Mientras prueba esta solución, active fetchmail
las banderas --all
y --keep
para asegurarse de no eliminar su correo accidentalmente.