Por que o mail -E me permite enviar mensagens vazias?

1
~ > 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?

    
por skyler 10.07.2014 / 17:02

2 respostas

1

Seu email contém um assunto, por isso não está vazio. O que acontece quando você tenta enviá-lo sem -s "Log Message" ?

    
por 10.07.2014 / 17:18
1

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
    
por 14.07.2015 / 20:01