Ich bin mir nicht sicher, wie die Daten aussehen, die Sie tatsächlich haben. Das Beste, was ich tun kann, ist eine fundierte Vermutung.
metamail -q -w -x file_name
In Skripten habe ich in der Vergangenheit erfolgreich Anhänge extrahiert. Wie Sie sehen können man metamail
, -w
weist metamail an, die mailcap-Datei nicht abzurufen, sondern die Anhänge einfach zu extrahieren, zu sagen, -q
dass sie leise ist, weil Skripte die zusätzliche Ausgabe nicht mögen, und -x
sagt, dass sie definitiv nicht auf einem Terminal ausgeführt wird es sollte keine dummen Fragen stellen.
Sie haben es bereits -w
, und Sie verwenden es auch -y
, was nicht nötig sein sollte, wenn die Mail richtig formatiert ist, aber vielleicht nicht Ihre - wie gesagt, ich weiß nicht, welche Daten Sie haben. Die Manpage warnt auch vor ungewöhnlichen Effekten, die mit auftreten können -y
.
Also erst mal schauen -y
, ob es noch funktioniert. Dann fügen -x
Sie hinzu, ob es aufhört zu fragen. Fügen Sie schließlich hinzu -q
, um unerwünschte Ausgaben zu entfernen.
Bearbeiten
Nachdem ich beschuldigt wurde, zu faul zu sein, um es zu versuchen, habe ich die folgenden Schritte ausgeführt:
1) Ich habe eine ZIP-Datei mit einer leeren Datei per E-Mail verschickt mutt
. Hier ist die komplette Mail, bei der einige Header entfernt / bearbeitet wurden:
From mail Sat Mar 3 12:49:13 2018 Envelope-to: <dirk@...> ... Message-ID: <20180303114913.xr7xvpx2pso6wurn@feanor> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="gsrhzrdopn4ddt7t" Content-Disposition: inline User-Agent: NeoMutt/20170609 (1.8.3) Content-Length: 480 Lines: 18 --gsrhzrdopn4ddt7t Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Test --gsrhzrdopn4ddt7t Content-Type: application/zip Content-Disposition: attachment; filename="foo.zip" Content-Transfer-Encoding: base64 UEsDBAoAAAAAALplY0wAAAAAAAAAAAAAAAAHABwAenp6L2Zvb1VUCQAD8IqaWvCKmlp1eAsA AQToAwAABOgDAABQSwECHgMKAAAAAAC6ZWNMAAAAAAAAAAAAAAAABwAYAAAAAAAAAAAApIEA AAAAenp6L2Zvb1VUBQAD8IqaWnV4CwABBOgDAAAE6AMAAFBLBQYAAAAAAQABAE0AAABBAAAA AAA= --gsrhzrdopn4ddt7t--
2) Speichern Sie es in einer Mailbox mit dem Namen " yyy
Run"
METAMAIL_TMPDIR=. metamail -q -x -w ~/Mail/yyy
3) Wie erwartet, fragt Metamail nicht und speichert alle Teile als zwei Dateien mit dem Namen 1-M64bZlz
und 1-MKfamEn
. Die zweite ist die zip-Datei, die erste ist der Haupttext.
Und nun? Es funktioniert für mich, es funktioniert nicht für Sie.