Anexe arquivos para enviar e-mail, que são o conjunto de resultados do comando find

4

Usando o comando find eu tenho vários arquivos. Agora eu quero adicionar todos esses arquivos como anexo de email. Como adiciono esses arquivos como anexo em um único email?

Eu quero implementar isso no script. Preciso usar o loop e armazenar os arquivos em variáveis de matriz?

EX: Eu tenho 3 resultados de arquivos pelo seguinte

find . -type f -name "sum*"

resultado:

sum123.pdf
sum234.pdf
sum453.pdf
    
por Aravind 19.06.2014 / 16:45

2 respostas

4

Você pode fazer isso com mutt da seguinte forma:

mutt -a $(find . -type f -name "sum*")

Se você quiser fazer isso não interativo, tente

mutt -s "Subject" -a $(find . -type f -name "sum*") -- [email protected] < /dev/null

Se mutt não estiver instalado, aqui é um exemplo com mail e mais ferramentas (por exemplo, mpack )!

Portanto, deve ser algo como

#!/bin/bash
# This needs heirloom-mailx
from="[email protected]"
to="[email protected]"
subject="Some fancy title"
body="This is the body of our email"

declare -a attargs
for att in $(find . -type f -name "sum*"); do
  attargs+=( "-a"  "$att" )  
done

mail -s "$subject" -r "$from" "${attargs[@]}" "$to" <<< "$body"

Para um ambiente sh sem declarar:

#!/bin/sh
# This needs heirloom-mailx
from="[email protected]"
to="[email protected]"
subject="Some fancy title"
body="This is the body of our email"

attargs=""
for att in $(find . -type f -name "sum*"); do
  attargs="${attargs}-a $att "  
done
attargs=${attargs::-1}

mail -s "$subject" -r "$from" ${attargs[@]} "$to" <<< "$body"
    
por 19.06.2014 / 16:50
0
ATTACH_FILE='ls $HOME/data/*log.txt'
rmdat $HOME/file.dat
rmdat $HOME/sendemail.dat
ATTACH_FILE="$(echo $ATTACH_FILE | sed 's/ /\n/g')"
export FILE=$HOME/file.dat
export FILE1=$HOME/sendemail.dat
echo $ATTACH_FILE >> $FILE
ATT_FILES=""
while read BP_fl
do

ATT_FILES=$ATT_FILES" uuencode  $BP_fl $(basename $BP_fl) ;"

done < $HOM/file.dat

echo '( echo "Hi" ; ' >> $FILE1
echo   $ATT_FILES >> $FILE1 
echo ') | mailx -m -s " automation test email" [email protected] ' >> $FILE1

chmod 777 $FILE1
. $FILE1
    
por 19.07.2017 / 17:04