--- Em [email protected], Amador Pahim <amador.pa...@...> escreveu > > Resolve, em parte. Funciona bem, mas não quando uso "Here Document (<<)" para > passar os comandos pro SMTP no telnet. > > ############ > #!/bin/bash > telnet smtp.dominio.com 25 << FIM > ehlo localhost > mail from: usua...@... > rcpt to: usuar...@... > data > subject: teste > teste > . > quit > FIM > ############ > > Depois de executar esse arquivo acima, gostaria de ter um arquivo.txt com os > retornos dos comandos SMTP. Eu teria algo assim: > > cat arquivo.txt > Trying 192.168.10.10... > Connected to smtp.dominio.com. > Escape character is '^]'. > 220 smtp.dominio.com ESMTP Postfix > 250-smtp.dominio.com > 250-PIPELINING > 250-SIZE 52428800 > 250-VRFY > 250-ETRN > 250 8BITMIME > 250 Ok > 250 Ok > queued as XYZ123 > > Abraço, > Amador Pahim
Então... basta você aplicar as dicas ao script e não a cada comando individualmente. Também tenho um script que envia e-mail via SMTP usando o telnet (envia inclusive anexos) mas não uso o here documento e sim o sleep. De todo modo, o retorno de cada comando dentro do script será exibido na stdout. Basta redirecioná-la a um arquivo, usando o operador ">", como sugeriu o Flávio Jr. ou usar o tee, como sugeri inicialmente. Por se tratar da saída de um script, não vejo porque usar o tee e ter que carregar mais um processo. IMHO, a primeira do Flávio é mais eficiente e "elegante" que a minha. Olha só como funciona aqui: r...@mga0-fwall-dsl:~> ./smtp-mail_anexo.sh [email protected] "teste" "teste" ./tzdata2008g.tar.gz > resultado.txt Connection closed by foreign host. r...@mga0-fwall-dsl:~> cat resultado.txt Trying 200.234.205.152... Connected to smtp.dominio.com.br. Escape character is '^]'. 220 hm941.dominio.com.br ESMTP 235 ok, go ahead (#2.0.0) 250 hm941.dominio.com.br 250 ok 250 ok 354 go ahead 250 ok 1240513344 qp 2250 221 hm941.dominio.com.br r...@mga0-fwall-dsl:~> Se quiser ver como montei o script, dê uma olhada aqui http://pastebin.com/f76b9f22f e aqui http://pastebin.com/f70383537 Espero que seja útil. Abraço Cristiano
