ssmtp [email protected] file.log não funciona. Corpo está em branco

1

Estou executando um script rsync simples no qual faço o log de stdout e stderr para dois arquivos diferentes, rsync_stdout.log e rsync_stderr.log.

Quando estou tentando enviar o conteúdo por e-mail do rsync_stderr.log usando:

echo $(cat rsync_stderr.log) | ssmtp [email protected]

Eu recebo um corpo de e-mail em branco, mas quando faço isso:

echo $(cat rsync_stdout.log) | ssmtp [email protected]

então eu tenho meu registro stdout no corpo do email sem problema.

É algo a ver com o arquivo de saída stderr do rsync? Eu tentei de tudo, mas não consigo entender.

Eu executei ssmtp como verbose:

[<-] 250 2.1.5 OK b48smxxx70wrb.1 - gsmtp
[->] DATA
[<-] 354  Go ahead b48smxxxxxx70wrb.1 - gsmtp
[->] Received: by XXXNAS (sSMTP sendmail emulation); Tue, 19 Dec 2017 01:14:47 +0100
[->] From:"XXXNAS" <XXXNAS>>
[->] Date: Tue, 19 Dec 2017 01:14:47 +0100
[->] rsync: delete_file: unlink(.AppleDB/log.0000000001) failed: Permission denied (13)
[->] rsync: delete_file: unlink(.AppleDB/lock) failed: Permission denied (13)
[->] rsync: delete_file: unlink(.AppleDB/db_errlog) failed: Permission denied (13)
[->] rsync: delete_file: unlink(.AppleDB/cnid2.db) failed: Permission denied (13)
[->] rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) 
[->] [sender=3.1.2]
[->] 
[->] .
[<-] 250 2.0.0 OK 1513642487 b48sxxxxxxrb.1 - gsmtp
[->] QUIT
[<-] 221 2.0.0 closing connection b4xxxxxwrb.1 - gsmtp

Assim, posso ver o texto sendo enviado, mas o corpo do e-mail aparece em branco.

Eu também tentei ssmtp [email protected] < rsync_stderr.log mas também não funciona.

    
por brunobhr 14.12.2017 / 02:42

2 respostas

0

Depois que o usuário almendrico me colocou no caminho, usei:

sed 's/[\:]//g' para remover o caractere : .

Não é muito elegante, mas funciona.

    
por 15.10.2018 / 18:23
1

Bem, qual é a diferença entre os dois logs? Você acabou de mostrar um deles.

Eu acredito que o caractere ':' presente nesse log é visto como um char de controle no lado do servidor do SMTP. Você precisa adicionar '\ n' antes do corpo do e-mail

    
por 12.03.2018 / 13:14