Extraer / guardar un archivo adjunto de correo usando bash


30

Usar bashherramientas normales (es decir, herramientas integradas o herramientas de línea de comandos comúnmente disponibles), ¿es

  • posible, y
  • cómo

extraer / guardar archivos adjuntos en correos electrónicos?

Por ejemplo, supongamos que tengo un informe nocturno que llega por correo electrónico pero es un archivo zip de varios archivos de registro. Quiero guardar todas esas cremalleras en un directorio de respaldo. ¿Cómo lograría eso?


"herramientas bash normales": ¿quiere decir que usa solo las funciones integradas en bash (es decir, lo que encontrará en la página de manual de bash) o quiere decir, en general, herramientas de línea de comandos que podría agregar a un script de shell bash ?
Doug Harris

@Doug Harris, ya sea ... si puedo llamar maily hacer esto, o guardar el archivo adjunto de otra manera, también está bien :)
warren

Respuestas:


29

Si busca la portabilidad, tenga en cuenta que hay varias versiones diferentes de mail(1)y mailx(1). Hay un mailxcomando POSIX , pero con muy pocos requisitos. Y ninguna de las implementaciones que tengo parece analizar los archivos adjuntos de todos modos.

Es posible que tenga el paquete mpack . Su munpackcomando guarda todas las partes de un mensaje MIME en archivos separados, luego todo lo que tiene que hacer es guardar las partes interesantes y limpiar el resto.

También hay metamail . Un equivalente de munpackes metamail -wy.


También para agregar que si también desea extraer el texto MIME partes del correo electrónico cuando lo use munpack, use la opción '-t':munpack -t email_file
Pierz

Gracias por la información sobre metamail. ¿Me pueden ayudar con esta pregunta ?
George


2
  • posible

  • Esto es CÓMO (Recurso de aquí )

encontrar directorio que contiene archivos | mientras lee el archivo; hacer

crear tempdir y copiar el archivo allí

ejecutar munpack en archivo y copiar archivos adjuntos en otro lugar

destruir tempdir (contenido)

hecho


Si alguien quiere que pegue el script de Perl aquí, simplemente deje un comentario
subanki el

1
si fuera tan amable (obviamente dejando la atribución de dónde lo encontró :))
warren

1
Acabo de leer el guión ... ¡eso es un montón de perl!
warren

así que estás seguro de que quieres que incluya eso en mi respuesta, será muy largo.
subanki

no pegue aquí, copiar de la fuente original sería mejor en este caso :)
warren
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.