Minha bola de cristal acha que talvez o texto da sua mensagem contenha um dos mais de <
ou >
.
Parece-me o seu uso
mailCommand='mail -s [email protected] < $email'
não fará o que você deseja: isso levará o conteúdo de $email
como um nome de arquivo (falhando um pouco porque $email
consiste em várias palavras), tente ler seu conteúdo, coloque-o no comando mail
, e, em seguida, atribua a saída do comando mail
à variável mailCommand
.
Meu pensamento seria que você quer algo como
echo "$email" | mail -s [email protected]
i.e. pegar a string na variável email
e alimentá-la no programa de email?
(Como uma nota lateral, muitas pessoas preferem atualmente a notação $(foo)
para substituição de comando, em vez de backticks.)