Script para enviar e-mail usando a função

1

Estou tentando escrever um script bash com uma função que você usa para enviar um email da linha de comando para um endereço e incluir um endereço Cc, uma linha de assunto e um arquivo de entrada. Por exemplo, se a função é chamada "m", o comando digitado se pareceria com:

m [email protected] [email protected] SubjectLine TextFile.txt

Abaixo está o que eu fiz até agora no vi. Tenho certeza de que estou declarando as variáveis erradas, e muito mais, provavelmente. Eu sou muito novo nisso.

m()
{
  mail -s="$1" -t="$2" -s="$3" #I am still unclear about positional parameters
}
    
por IWhite 04.06.2016 / 04:14

1 resposta

0
#!/bin/bash
m() {
    to_addr="$1"
    cc_addr="$2"
    subject="$3"
    body="$4"
    cat "$body" | mail -s "$subject" -c "$cc_addr" "$to_addr"
}

if [[ "$#" -eq 4 ]]; then
    m "$1" "$2" "$3" "$4"
else
    echo "Incorrect number of paramaters.  Aborting."
    echo "Example syntax:  $0 [email protected] [email protected] "Message Subject" /path/to/messagebody.txt"
    exit 1
fi
    
por 04.06.2016 / 06:17