Eco para arquivar confrontos com mailutils

0

Depois de instalar ssmtp e mailutils , gravar em um arquivo com 'echo' tenta enviar um email para username @ hostname. Por exemplo:

Enviando email com mailutils:

echo "Body text here." | mail -s "Subject text here." [email protected]

e eu uso: %código% para gravar conteúdo em um arquivo de log.

O problema é que, quando quero enviar um arquivo de log, recebo um e-mail de entrega do Gmail dizendo que nome de usuário @ nome do host não pode ser acessado, o que significa que ele interfere com o mailutils.

Eu sou um problema conhecido com o mailutils que precisa de uma solução ou correção e como posso abordá-lo?

    
por Renier Delport 16.03.2016 / 15:03

1 resposta

0

Você está fazendo algo assim?

echo "log content" > logfile.txt | mail -s "Subject text" [email protected]

Se sim, não é de admirar que não funcione - você já está redirecionando a saída de echo para um arquivo, você também não pode canalizá-lo para mail sem usar um programa como tee .

O objetivo de tee é (da página man):

tee - read from standard input and write to standard output and files

Nota: se você deseja anexar a logfile.txt em vez de substituí-la completamente, use tee -a logfile.txt . Veja man tee .

Então, para salvar em um arquivo de log AND pipe into mail, tente isto:

echo "log content" | tee logfile.txt | mail -s "Subject text" [email protected]

Como alternativa, você pode redirecionar para um arquivo de log e usar < para redirecionar o stdin de mail para ser o arquivo de log, assim:

echo "log content" > logfile.txt
mail -s "Subject text" [email protected] < logfile.txt
    
por 17.03.2016 / 01:54

Tags