sopprimere le email in bianco

Come sopprimere le email in bianco? Per esempio nell'esempio seguente, mi piacerebbe

some command | mail -s "tables altered on `hostname`" me@company.com 

Ho ricevuto il seguente messaggio "dopo" l'invio del messaggio:

 Null message body; hope that's ok 

Questo non è ok. Non voglio submit la posta se non esiste un text.

  • È OK eseguire il mio server di posta elettronica per l'inoltro di posta elettronica?
  • Modificare la ricezione nella coda di postfix
  • Redmine - come configurare l'invio di posta elettronica con postfix?
  • Strano comportmento di mancato recapito con Office 365 Hosted Exchange
  • Sostituzione per qmail?
  • Come posso risolvere il problema "mail: command not found" su OpenSuse 12.1?
  • Impostazione di un indirizzo email falso per bloccare gli spammer
  • Impostazione minima per sendmail per submit solo e-mail in output?
  • 4 Solutions collect form web for “sopprimere le email in bianco”

     #!/bin/sh string=`some command` len=${#string} if [ "$len" -gt "0" ] then echo $string | mail -s "tables altered on `hostname`" me@company.com fi 

    Questo invierà la posta solo se l'output del command è lungo alless 1 carattere, ma questo può includere spazi vuoti ecc.

    (La soluzione sopra funziona, ma non è necessaria. La man mail rivela l'opzione -E):

     some command | mail -E -s "tables altered on `hostname`" me@company.com 

    Uso quanto segue:

     $ mail --exec 'set nonullbody' -s Test test@example.com 

    Quello che ho trovato nella documentazione di posta GNU sotto la sezione nullbody .

    Una versione di una linea di risposta di SvenW (le crede dovrebbero andare a lui, non a me)

     string=`some command`; [ "$len" -gt "0" ] && ( echo $string | mail -s "tables altered on `hostname`" me@company.com ) 

    esempio:

    echo -n "" | mail -E -s "Messaggio di registro" me@mydomain.tld

    spiegare:

    una string vuota ha carattere endline quindi dobbiamo aggiungere -n per escludere in questo test echo \ n (cr). Ma se il tuo messaggio di corpo non esiste, la posta esce / smette di submit.

    fonti:

    Perché la posta elettronica -E mi lascia submit messaggi vuoti? http://heirloom.sourceforge.net/mailx/mailx.1.html

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.