Não sei ao certo como são os dados que você realmente tem, então o melhor que posso fazer são algumas suposições.
Eu usei metamail -q -w -x file_name
com sucesso no passado em scripts para extrair anexos. Como você pode ver em man metamail
, -w
diz ao metamail para não consultar o arquivo mailcap, mas apenas extraia os anexos, -q
diz para ficar quieto, porque os scripts não gostam da saída extra e -x
diz que definitivamente não está sendo executado em um terminal, por isso não deve fazer perguntas estúpidas.
Você já tem -w
e também está usando -y
, que não será necessário se o e-mail estiver formatado corretamente, mas talvez o seu não seja - como eu disse, não sei quais dados Você tem. A man page também avisa sobre efeitos estranhos que podem acontecer com -y
.
Então, primeiro, solte -y
, veja se ainda funciona. Em seguida, adicione -x
, veja se ele pára de perguntar. Por fim, adicione -q
para remover a saída indesejada.
Editar
Depois de ser acusado de ser muito preguiçoso para tentar, fiz os seguintes passos:
1) Eu mesmo enviei um arquivo zip com um arquivo vazio usando mutt
. Aqui está o e-mail completo, com alguns cabeçalhos removidos / editados:
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) Salvei em uma caixa de correio chamada yyy
, depois executei
METAMAIL_TMPDIR=. metamail -q -x -w ~/Mail/yyy
3) Como esperado, o metamail não pergunta e salva todas as partes como dois arquivos chamados 1-M64bZlz
e 1-MKfamEn
. O segundo é o arquivo zip, o primeiro é o texto do corpo.
E agora? Funciona para mim, não funciona para você.