Como incorporar o conteúdo do arquivo no corpo do email usando o comando mail?

2

Deve ser soooo simples, mas todos os exemplos que eu encontrei depois de algumas horas pesquisando não funcionam, já que o e-mail é sempre anexado ao arquivo em vez de gravá-lo no corpo. Também não quero enviar mensagens vazias, mas quero enviar e-mails somente quando tiver saída do script. Aqui está o meu comando:

$script_file  > /tmp/output.log ; mail -E -s "Output subject" "my@emailaddress"  < /tmp/output.log ; rm -f /tmp/output.log

Seria possível alterar este comando para forçar o email a incorporar o conteúdo do arquivo output.log ?

Meu sistema é o CentOS.

Muito obrigado!

    
por t.fazakas 19.06.2015 / 13:09

2 respostas

2

Eu uso mutt para fazer isso, assim. Esteja ciente da ordem dos argumentos, não coloque o destinatário após -a

mutt [email protected] -s "Mail subject" -a /file/to/attach < /file/with/mail/body

    
por 19.06.2015 / 13:35
0

Você pode usar cat e pipe para redirecionar a saída para o e-mail.

$script_file > /tmp/output.log ; cat /tmp/output.log | mail -s "Output subject" "my@emailaddress" ; rm -f /tmp/output.log

(Eu não tenho certeza se há -E embora, então eu removi)

    
por 19.06.2015 / 13:36

Tags