Aqui está uma versão ligeiramente melhorada do seu script. Ele usa $(pwd)
em vez de back-ticks, aspas simples em torno de strings literais (os endereços From e To e a string de assunto), aspas duplas onde é necessária a interpolação de variável e usa um heredoc para os cabeçalhos em vez de vários echo
linhas. Eu gosto de usar a string __EOF__
para delimitar heredocs porque é improvável que ocorra no corpo da heredoc ... qualquer string arbitrária também funcionaria.
Observe a linha final em branco antes do final do heredoc - uma linha em branco é necessária para separar cabeçalhos de mensagens e corpo.
BTW, variáveis são interpoladas dentro de heredocs da mesma maneira que para strings de aspas duplas. Você pode até usar a substituição de comandos $(...)
neles.
#! /bin/sh
DOCROOT=$(pwd)
$header="$DOCROOT/header.txt"
$body="$DOCROOT/report.html"
MAIL_FROM='[email protected]'
MAIL_TO='[email protected]'
$subject='The mail subject'
cat <<__EOF__ > "$header"
From: $MAIL_FROM
To: $MAIL_TO
Subject: $subject
Content-Type: text/html
__EOF__
cat "$header" "$body" | /usr/lib/sendmail -t
Deixe-me saber se isso resolve o seu problema.
BTW para responder a sua pergunta real, sendmail
deve estar fazendo o login para onde quer que o correio de instalação esteja sendo enviado em seu sistema - possivelmente /var/log/mail.log
ou similar, tente grep mail /etc/syslog.conf
para verificar isso.