Seu email contém um assunto, por isso não está vazio. O que acontece quando você tenta enviá-lo sem -s "Log Message"
?
~ > which mail
/bin/mail
~ > ls -la /bin/mail
lrwxrwxrwx 1 root root 22 Feb 25 14:18 /bin/mail -> /etc/alternatives/mail
De acordo com man mail
,
-E If an outgoing message does not contain any text in its first or only message part, do not send it but discard it silently, effectively setting the skipemptybody variable at program startup. This is useful for sending messages from scripts started by cron(8).
No entanto, mesmo com -E
, meu script do cron, que usa echo
, ainda envia mensagens vazias. O que acontece é (essencialmente) isso:
logmsg=""
echo "$logmsg" | mail -E -s "Log Message" [email protected]
Eu entendi mal alguma coisa? Por que mail -E
envia e-mails com mensagens vazias?
Seu email contém um assunto, por isso não está vazio. O que acontece quando você tenta enviá-lo sem -s "Log Message"
?
O comentário de HBruijn corrigiu isso para mim - em outras palavras:
Este e-mail foi enviado:
echo '' | mail -E -s "echo ''" root
mas este não foi:
echo -n '' | mail -E -s "echo -n ''" root