Quais são algumas opções melhores para codificar anexos de email do que o uuencode em um script bash?

4

Eu estou referenciando minha postagem original na qual eu estava fazendo uma pergunta sobre posicionamento de argumento referente a $2 $3 etc e, eventualmente, ${@:2} . Foi mencionado que existem métodos melhores para codificar anexos de email.

Note que usei uname -or para descobrir 2.6.32-400.26.3.el5uek GNU/Linux se isso ajudar nas respostas.

Eu usei o comando dentro de um script bash para anexar um arquivo a um email e tê-lo em outros scripts também. No entanto, algumas de nossas máquinas nem mesmo suportam uuencode , então quais são algumas opções melhores para anexar arquivos a e-mails do que o uuencode?

    
por Emile 12.07.2017 / 22:36

4 respostas

2

Eu prefiro usar o mpack para enviar anexos como MIME

como em:

mpack -s "message" file [email protected]

Name

mpack - pack a file in MIME format Synopsis

mpack [ -s subject ] [ -d descriptionfile ] [ -m maxsize ] [ -c content-type ] file address ... mpack [ -s subject ] [ -d descriptionfile ] [ -m maxsize ] [ -c content-type ] -o outputfile file mpack [ -s subject ] [ -d descriptionfile ] [ -m maxsize ] [ -c content-type ] -n newsgroups file Description

The mpack program encodes the the named file in one or more MIME messages. The resulting messages are mailed to one or more recipients, written to a named file or set of files, or posted to a set of newsgroups.

    
por 12.07.2017 / 23:41
1

Você sabe que o seguinte funciona bem para arquivos em TEXTO ou binário:

 mailx -s SUBJECT -a FILE1 -a FILE2 ... USERNAME

Basicamente, faz a codificação MIME automaticamente e ..... mesmo o M $ Outlook faz a coisa certa com essa mensagem.

    
por 13.07.2017 / 01:28
0

Se estiver faltando uuencode , esse perl hack faz praticamente a mesma coisa.

O crédito vai para o site Perl Monks

perl -ple"BEGIN{ $/=} $_ = pack 'u', $_" file
    
por 12.07.2017 / 22:45
0

Você poderia 7z ou zip ou tar.wz ou similar para obter uma lista compactada de arquivos.

Em seguida, a lista compactada de arquivos pode ser convertida em hexadecimal. Use od hd ou xxd:

$ xxd -p compressedfile.7z > ToBeMailedFile

Envie o arquivo anexado ao seu email.

Converter de volta o arquivo:

$ xxd -p -r ToBeMailedFile > compressedfile.7z

Expanda o arquivo para a lista de arquivos.

Como o HEX passa todas as limitações de caracteres permitidas na web, o arquivo passará.
Como a lista de arquivos é compactada antes de ser enviada, há um ganho de tamanho. O arquivo compactado também pode ser criptografado. Diversas ferramentas diferentes podem ser usadas para processar os dados. Apenas a conversão de HEX para BIN precisa de xxd. Então, liberdade de ferramentas.

    
por 13.07.2017 / 02:02