Quero usar o sendmail para me enviar coisas e quero fazê-lo em um oneliner.
echo "mail content" | sendmail emailataddres.com
Envia sem assunto.
A linha de assunto deve vir antes do conteúdo do Mail, então estou procurando algo ao longo das linhas de:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
sed e awk tendem a ser realmente difíceis de usar e lembrar.
EDIT : Apenas para esclarecer: echo "Conteúdo de email" é apenas um exemplo ilustrativo. Eu preciso ser capaz de acrescentar coisas aos fluxos stdout de qualquer fonte. por exemplo: ifconfig, zcat, etc.
prepend
fazer? Para saber como acrescentar algo antes, é necessário aguardar até que o comando upstream (por exemplo echo
) envie o EOF, para que você possa inserir seus dados antes dele no fluxo antes de passá-lo para o stdout para receber o sendmail. Soa como uma tarefa para um script Shorty Ruby ou Python.
mail
comando (às vezes chamado de bsdmail) em vez de sendmail
diretamente. mail
toma uma -s subject
opção opcional , por exemplo: ifconfig -a | mail -s 'Current ifconfig output' me@someaddr.com
echo -e "Subject: All that matters\nmail content"
? Ou mais agnóstica de plataforma:printf 'Subject: %s\n%s\n' "All that matters" "mail content"
. Você também pode escrever um pequeno script que use apenas os dois argumentos de string para criar uma linha única ainda mais simples.