E-mail usando o shell script

5

Existe a possibilidade de adicionar vários e-mails a uma única variável para que, quando o script de shell for executado, ele envie um e-mail para todos os e-mails especificados?

    
por Madhuri 04.07.2014 / 09:01

2 respostas

5

Supondo que você use sendmail ou mail em seu script (que espera uma string separada por vírgula como lista de destinatários), é possível concatenar os IDs (ou gravá-los diretamente como uma lista):

$: recipients="[email protected], [email protected], [email protected]"

ou concatenando:

$: base_recipients="[email protected], [email protected]"
$: full_recipients="$base_recipients, [email protected]"

$: echo $full_recipients
[email protected], [email protected], [email protected]  

O exemplo a seguir seria um envio de e-mail com sendmail para três IDs de e-mail diferentes:

#!/bin/bash

recipients="[email protected], [email protected], [email protected]"
subject="Mail to you all"
from="[email protected]"

message_txt="Hi all!\n This is a message to all 3 of you!.\n cheers, Me."

/usr/sbin/sendmail "$recipients" << EOF
subject:$subject
from:$from
$message_txt
EOF
    
por 04.07.2014 / 11:30
2

Aqui está meu código usando o array de e-mail:

MAILADDR=([email protected] [email protected] [email protected])
for i in "${MAILADDR[@]}"
    do
         echo "Mail test..." | mail -s "Mail test subject..." $i
    done
    
por 04.07.2014 / 12:08