A través de alguna configuración incorrecta, tengo muchos correos electrónicos en / var / mail / root y / var / mail / www-data
¿Cómo puedo "recorrer" estos archivos y enviar cada correo en otro momento?
formail , parte de procmail (y probablemente ya disponible en su sistema) puede tomar un buzón, dividirlo en mensajes y luego ejecutar un comando en cada uno. Desde la página del manual:
-s The input will be split up into separate mail messages, and piped
into a program one by one (a new program is started for every
part). -s has to be the last option specified, the first argument
following it is expected to be the name of a program, any other
arguments will be passed along to it. If you omit the program,
then formail will simply concatenate the split mails on stdout
again. See FILENO.
Entonces puedes hacer lo que creo que quieres así:
formail -s /usr/sbin/sendmail -oi -t < /var/mail/root
ls /var/mail
; do formail -s / usr / sbin / sendmail -oi $ foo <./$foo; done" debería repetir cada archivo y entregarlo localmente.Luego dentro de mutt ...
T lo pone en modo de etiquetado y. * Etiqueta todos los mensajes. El punto y coma aplica el siguiente comando a todos los mensajes etiquetados, y finalmente b "devuelve" los mensajes a una dirección que solicitará.
De memoria, creo que tampoco
o
Luego vaciará el buzón.
fuente
Los archivos de buzón / var / spool / mail / xxx unix son archivos de texto simples donde los mensajes de correo se mantienen en secuencia. Cada mensaje de correo comienza con una línea "De" (que no es parte del mensaje) con el remitente y la fecha de recepción, luego obtienes encabezados de correo y luego el cuerpo del correo.
Básicamente, puede simplemente recorrer el archivo detectando tales líneas From y extraer cada mensaje y luego enviarlos usando herramientas como el módulo python smtp o el módulo perl Net :: SMTP de cpan.
Si el destino es otro buzón local, puede agregarle los mensajes (incluida la línea De). Incluso podría agregar todo el buzón raíz a otro buzón si no le importa recibir mensajes realmente dirigidos a la raíz.
Debería tener algunos scripts que hagan eso y publicaré ejemplos si lo desea.
El problema puede ser obtener el objetivo real del mensaje porque, si terminaron en el buzón raíz, ¿probablemente se dirigieron a la raíz desde el principio?
fuente