Uuencode está exibindo o conteúdo do arquivo no corpo do email em vez de anexar o arquivo nos anexos

2

Eu quero enviar um arquivo de texto simples como anexo em um email. Quando o email é entregue, o anexo está ausente, em vez disso, o conteúdo dos anexos é exibido no corpo do email. Precisa de sugestões para corrigir isso, por favor.

Aqui está minha entrada:

bash-4.1$ cat test.txt  
HelloWorld !  

bash-4.1$ uuencode test.txt test_attachment.txt|mailx -s 'testing' [email protected]  

Aqui está a saída no email:

begin 664 test_attachment.txt
/2&5L;&]7;W)L9"'A('H*
'
end
    
por Vineet 19.06.2016 / 12:06

5 respostas

6

Você pode ter alguma expectativa incorreta do que o comando uuendcode ... | mailx ... deve fazer.

No mundo em que o uuencode foi projetado para operar, não existe um anexo, porque o MIME ainda não existe. Uma pessoa que recebe uma mensagem com um conteúdo codificado nela deve vê-lo assim:

From: Alice <[email protected]>
To: Bob <[email protected]>
Subject: Those files you requested

Here you go:

begin 644 something.tar.Z
M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1'BC(@P;%0%8C'$#H\:*'#U:'%EQ
M1@T',63<F!&CQHP;,&3,T!@#QLJ9(&!,W,FSI\^?'.K,H1-&#@@0'-*02?.&
M#E"&2IDZ?4JUJM6K6+-JE9CE31T08<;0J1.&#9L\(,K@H2,G+)TR9$#009-F
MS@\%6_/JW<NWK]^_@',+'DRXL.'#B!,K7LRXL>/'D"-+GDRYLN7+F#-KWLRY
ML^?/H$.+'DVZM.G3J%.K7LVZM>O7L&/+GDV[MNW;N'/KWLV[M^_?P(,+'TZ\
JN/'CR),K7\Z\N?/GT*-+GTZ]NO7KV+-KW\Z]N_?OX,.+'T^^O/GSZ',#
'
end

-- 
Alice

O destinatário deve reconhecer que as linhas de begin a end são um arquivo uuencoded e canalizar essas linhas (ou talvez a mensagem inteira) para uudecode e, em seguida, procurar o arquivo de saída no arquivo atual. diretório.

É muito parecido com a decodificação de anexos MIME, mas uma parte maior ocorre nos cérebros dos usuários.

Alguns mailreaders modernos podem reconhecer automaticamente conteúdos codificados em UEN e usar uma única interface de usuário para apresentar arquivos uuencoded e MIME-attached. Eu não esperaria que todos os leitores de mensagens unix clássicos fizessem isso, porque isso representa erroneamente o que foi realmente enviado, que é uma mensagem de texto simples (não-MIME).

    
por 19.06.2016 / 18:00
2

Algumas implementações do utilitário mailx não conseguem enviar anexos. Outros (no Linux, por exemplo) tem um sinal -A que usa um nome de arquivo como valor.

Portanto, se você estiver no Linux, precisará gravar os dados codificados em Uuencoded em um arquivo antes de usar mailx :

$ uuencode test.txt test_attachment.txt >file.uue
$ mailx -A file.uue -s "testing" [email protected] </dev/null

Isso envia um email para [email protected] com um corpo vazio e o anexo de file.uue .

    
por 19.06.2016 / 12:25
0

Quase 2 anos depois, mas ... parece que o uuencode ou o email está quebrado no Linux. Ou talvez esteja funcionando corretamente, mas o Outlook está corrompido. Quem sabe?

uuencode a.gz a.gz | mail -s "testando o uuencode do linux" [email protected]

uuencode a.gz a.gz | mail -s "testando o uuencode do aix" [email protected]

Enviando do Linux, o Outlook mostra o código de uuencode inline. Enviando do AIX, o Outlook mostra isso como um anexo. Mesmo comando, mesmo reencaminhamento de correio, SO diferente, resultados diferentes. Ah, talvez seja o sendmail (aix) vs postfix (linux)? De qualquer forma, tire suas próprias conclusões sobre a localização da quebra.

Ah, para dar uma resposta real ... mailx -a a.gz -s "subject" [email protected]

    
por 15.03.2018 / 18:40
-1
uuencode test.txt test_attachment.txt | mailx **-m** -s 'testing' [email protected]
    
por 14.01.2017 / 11:11
-1
echo "\
Subject: My Email Subject at 'date \"+%m/%d/%Y %r UTC\"'
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="^A^A^A^A^A"
Content-Transfer-Encoding: 7bit

--^A^A^A^A^A
Content-Type: text/plain; charset=US-ASCII; name="BDY.TXT"
Content-Disposition: inline; filename="BDY.TXT"
Content-Transfer-Encoding: 7bit

My Email Subject at 'date \"+%m/%d/%Y %r UTC\"'

--^A^A^A^A^A
Content-Type: text/plain; charset=US-ASCII; name="ZIP_FILE"
Content-Disposition: attachment; filename="ZIP_FILE"
Content-Transfer-Encoding: 7bit

" > /tmp/ZIP_FILE

cat /tmp/MySourceZipFile >> /tmp/ZIP_FILE
echo "
--^A^A^A^A^A--" >> /tmp/ZIP_FILE


/usr/sbin/sendmail "[email protected]" < /tmp/ZIP_FILE
    
por 29.03.2017 / 03:11