Anexos estão faltando quando vários arquivos são anexados no correio

2

Eu escrevi um script para obter vários anexos por email. Meu script é

for file in 'find $dir -ctime -2 -type f -name "Sum*pdf*"'
do
echo "$file"
filename='basename $file'
echo $filename -exec uuencode {} {}\;|mailx -s "North" [email protected]
echo "$filename"
done

Mas estou recebendo e-mails sem anexos. Por favor me ajude o que há de errado nisso.

    
por Aravind 04.07.2014 / 16:26

3 respostas

0

Encontrei essa dica que mostra como usar uuencode para anexar vários anexos a um único arquivo e anexar esse arquivo único ao e-mail. O artigo é intitulado: Enviar por e-mail vários anexos de arquivo de Solairs / AIX / HP-UX Linha de Comando / UNIX / Linux .

Exemplo

$ uuencode r1.tar.gz r1.tar.gz > /tmp/out.mail
$ uuencode r2.tar.gz r3.tar.gz >> /tmp/out.mail
$ uuencode r3.tar.gz r3.tar.gz >> /tmp/out.mail
$ cat email-body.txt >> /tmp/out.mail
$ mail -s "Reports" [email protected] < /tmp/out.mail
    
por 04.07.2014 / 18:05
0

Aqui, use isto:).

#!/bin/bash
RECIP="[email protected]"
SRCDIR="yourdirectory"
TMPDIR="tmp"
[ ! -d "$TMPDIR" ] && mkdir -p "$TMPDIR"

attargs=""
for file in 'find "$SRCDIR" -ctime -2 -type f -name "Sum*pdf*"'; do
    echo "$file" #DEBUG
    filename='basename $file'
    uuencode "$file" "$filename" > "$TMPDIR/${filename}"
    attargs="${attargs} -a $TMPDIR/$filename"
done

echo "mailx -s \"Done\" ${attargs[@]} $RECIP" #DEBUG
echo | mailx -s "Done" ${attargs[@]} "$RECIP"

Depois, apague o diretório temporário, que contém todos os arquivos uuencoded.

Certifique-se de decodificá-los com uudecode .

    
por 06.07.2014 / 00:04
0

O uso de uuencode não é padrão e não fornece anexos. Se você quiser enviar um email com vários anexos, a solução mais fácil pode ser usar o Mutt com mutt -s subject -a file1 file2 ... filen -- address < message

    
por 06.07.2014 / 00:20