Chcę używać sendmaila, aby wysyłać mi rzeczy i chcę to zrobić w oneliner.
echo "mail content" | sendmail emailataddres.com
Wysyła to bez tematu.
Temat musi znajdować się przed treścią poczty, więc szukam czegoś w stylu:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
sed i awk są zwykle niewygodne w użyciu i zapamiętywaniu.
EDYCJA : Aby wyjaśnić: echo „Treść wiadomości” to tylko przykład ilustrujący. Muszę być w stanie przygotować rzeczy do standardowych strumieni z dowolnego źródła. np .: ifconfig, zcat itp.
prependzrobić Aby wiedzieć, jak coś przygotować, musisz poczekać, aż polecenie echowysyłające (np. ) Wyśle EOF, abyś mógł wstawić swoje dane przed strumieniem, zanim przekaże je na standardowe wyjście, aby otrzymać potok do sendmaila. Brzmi jak zadanie dla krótkiego skryptu Ruby lub Python.
mailpolecenia (czasami nazywanego bsdmail) zamiast sendmailbezpośredniego. mailma opcjonalną -s subjectopcję, np .: ifconfig -a | mail -s 'Current ifconfig output' me@someaddr.com
echo -e "Subject: All that matters\nmail content"? Lub więcej platform agnostyk:printf 'Subject: %s\n%s\n' "All that matters" "mail content". Możesz także napisać mały skrypt, który po prostu bierze dwa argumenty łańcuchowe, aby uczynić jeszcze prostszą jednowierszową.