Я хочу використовувати sendmail, щоб надсилати мені речі, і хочу це робити в онлайні.
echo "mail content" | sendmail emailataddres.com
Надсилає його без теми.
Тема повинна надходити до вмісту пошти, тому я шукаю щось у порядку:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
sed і awk, як правило, незручно використовувати і запам'ятовувати.
EDIT : Просто для уточнення: відлуння "Вміст пошти" - лише наочний приклад. Мені потрібно вміти додавати матеріали до потоків stdout з будь-якого джерела. наприклад: ifconfig, zcat тощо.
prepend
робити? Для того, щоб знати, як щось передбачити, вам доведеться почекати, поки команда висхідного потоку (наприклад echo
) не надішле EOF, щоб ви могли вставити свої дані попереду в потік, перш ніж передати його в stdout, щоб перейти до пересилання sendmail. Здається, що завдання для короткого сценарію Ruby або Python.
mail
команди (іноді її називають bsdmail), а не sendmail
безпосередньо. mail
приймає необов'язковий -s subject
варіант, наприклад: ifconfig -a | mail -s 'Current ifconfig output' me@someaddr.com
echo -e "Subject: All that matters\nmail content"
? Або більш від платформи:printf 'Subject: %s\n%s\n' "All that matters" "mail content"
. Ви також можете написати невеликий скрипт, який просто бере два аргументи рядка, щоб зробити ще простішим однолінійним.