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:

  • Quali porte da aprire per il server di posta?
  • Qualcuno usa la mia mail?
  • Messaggi via POP consegnati più volte (Hosting)
  • Che cosa è esattamente un'intestazione X-YMailISG?
  • Utilizzo della memory del server MOLTO alto sulla nuova ledi dedi box Linux - Come trovare il problema?
  • come risolvere "send-mail: Autorizzazione fallita 534 5.7.14"
  •  Null message body; hope that's ok 

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

  • Ricerca di un'applicazione di archiviazione di posta elettronica open source
  • Come ha spazzato via email gli spammer con il mio dominio google apps (ha anche DKIM!)
  • 451 Tema locale temporaneo con l'invio di email
  • Come controllare le azioni di cassetta postale dell'utente eseguite tramite IMAP in Exchange 2010?
  • Impostazioni di posta elettronica sicure per i client e-mail e per PHPMailer
  • Il nostro accesso IMAP deve essere dietro la nostra VPN?
  • 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.