web-dev-qa-db-fra.com

Extraire / sauvegarder une pièce jointe à l'aide de bash

Utiliser des outils bash normaux (c'est-à-dire des outils intégrés ou des outils de ligne de commande couramment disponibles),

  • possible, et
  • comment

extraire/sauvegarder des pièces jointes sur des emails?

Par exemple, disons que j'ai un rapport nocturne qui arrive par courrier électronique mais est une archive Zip de plusieurs fichiers journaux. Je veux sauvegarder tous ces fichiers dans un répertoire de sauvegarde. Comment pourrais-je accomplir cela?

29
warren

Si vous visez la portabilité, sachez qu'il existe plusieurs versions différentes de mail(1) et mailx(1). Il existe une commande POSIX mailx, mais avec très peu d'exigences. Et aucune de mes implémentations ne semble analyser les pièces jointes de toute façon.

Vous pourriez avoir le paquet mpack . Sa commande munpack enregistre toutes les parties d'un message MIME dans des fichiers séparés. Il vous suffit ensuite de sauvegarder les parties intéressantes et de nettoyer le reste.

Il y a aussi métamail . Un équivalent de munpack est metamail -wy.

29
Gilles

Le meilleur programme à cet effet est ripMIME.

Il extrait le texte et toutes les pièces jointes:

https://pldaniels.com/ripmime/

GitHub: inflex/ripMIME

11
Andreas Rehm
  • OUI possible

  • C'est COMMENT (ressource de ici )

trouver le répertoire contenant les fichiers | en lisant le fichier; faire

créer tempdir et copier le fichier là-bas

lancez munpack et copiez les pièces jointes ailleurs

détruire tempdir (contenu)

terminé

2
subanki