Я хочу использовать sendmail для отправки мне материала и хочу сделать это в личном кабинете.
echo "mail content" | sendmail emailataddres.com
Посылает это без темы.
Строка темы должна предшествовать содержимому Mail, поэтому я ищу что-то вроде:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
sed и awk, как правило, очень неудобны в использовании и запоминании.
РЕДАКТИРОВАТЬ : Просто чтобы уточнить: echo "Почтовый контент" является просто иллюстративным примером. Мне нужно иметь возможность добавлять материал к потокам 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"
. Вы также можете написать небольшой скрипт, который просто принимает два строковых аргумента, чтобы сделать еще более простой однострочный.