Enviar por e-mail 13 MB de base64 cria 19 MB extras de .com

Enviar por e-mail 13 MB de base64 cria 19 MB extras de .com

Meu script de backup diário teve que ser alterado para criar um arquivo base64 em vez do normal .tar.gzhá algum tempo:

Filename64="$Filename".64
cat "$Filename" | base64 > "$Filename64"
echo -e "to: $EmailAddr\nsubject: $Filename64\n" | \
    (cat - && uuencode "$Filename64" "$Filename64") | ssmtp "$EmailAddr"

Recentemente precisei recuperar um arquivo do backup diário. Fiquei surpreso ao descobrir que o Gmail cria automaticamente um segundo anexo com .comformato 6 MB maior (aparentemente). Este segundo anexo indesejado é chamado noname:

backup do Gmail 2 anexos.png

1).Como posso impedir nonamea criação?

2).Se a criação for inevitável, como posso excluí-los em massa com a API do Gmail?

Responder1

Eu estava usando instruções na resposta mais votada:

que recomenda:

echo -e "to: [email protected]\nsubject: subject\n"| (cat - && uuencode /path/to/attachment attachment.name) | ssmtp [email protected]

Fiz algumas pesquisas novas e parece uuencodeque era algo popular há 25 anos, mas não tanto hoje. A falha básica do script bash é uuencodecolocar o anexo no corpo da mensagem.

Um método muito melhor foi encontrado aqui:

Onde já usei o mailprograma integrado à minha distribuição Ubuntu:

mail -a "$Filename64" -s "$Filename64" "$EmailAddr" < /dev/null

informação relacionada