Voglio usare sendmail per inviarmi cose e voglio farlo in un oneliner.
echo "mail content" | sendmail emailataddres.com
Lo invia senza soggetto.
La riga dell'oggetto deve precedere il contenuto di Mail, quindi sto cercando qualcosa sulla falsariga di:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
sed e awk tendono ad essere davvero imbarazzanti da usare e ricordare.
EDIT : Solo per chiarire: echo "Contenuto della posta" è solo un esempio illustrativo. Devo essere in grado di anteporre elementi a flussi stdout da qualsiasi fonte. ad esempio: ifconfig, zcat, ecc.
prepend
fare? Per sapere come anteporre qualcosa, devi attendere che il comando upstream (es. echo
) Invii l'EOF, in modo da poter inserire i tuoi dati prima di esso nello stream prima di passarli a stdout per essere reindirizzato a sendmail. Sembra un compito per uno script Ruby o Python abbreviato.
mail
comando (a volte chiamato bsdmail) anziché sendmail
direttamente. mail
accetta -s subject
un'opzione opzionale , ad esempio: ifconfig -a | mail -s 'Current ifconfig output' me@someaddr.com
echo -e "Subject: All that matters\nmail content"
? O più indipendente dalla piattaforma:printf 'Subject: %s\n%s\n' "All that matters" "mail content"
. Potresti anche scrivere un piccolo script che prende solo i due argomenti di stringa per creare una riga ancora più semplice.