shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] enviando e-mail


From: moysespr
Subject: Re: [shell-script] enviando e-mail
Date: Sat, 4 Oct 2003 14:26:24 -0700 (PDT)

Tatsuo, desculpe a demora,só hoje estou checando meu correio.

Me parece que o "mail" que aparece nas suas linhas, normalmente é um
binário, que usa o sendmail,qmail ou outro MTA, previamente
configurado, para envio. Nisso não posso ajudar.

Não sei se te interessa, mas coloco abaixo uma solução básica em
script para o bash. Como você mencionou que precisa autenticar, isto
é coberto de uma forma muito simples que a maioria dos SMTP servers
deve aceitar (codificação Base64,aqui feita pelo mimencode). Se for
usar de forma efetiva é bom ver as formas mais seguras de
autenticação que o seu servidor suporta (p/ver é só ativar o diálogo
visível).
Não deverá precisar configurar outras ferramentas; está tudo no
script.

O envio é feito com a linha a seguir (sm), $1=destinatário,
$2=subject e $3=mensagem (no teu caso, conteúdo de arquivo, é só
adaptar)

sm address@hidden 'Teste via SMTP' 'Blah blah blah'

---------------script sm
#!/bin/bash
Server=smtp.provedor.com.br;Port=25
ACCOUNT='address@hidden'
NACC='Fulano Sobrenome'
PASSWD='ax3yz98arh'

#D=ver # descomentar a linha para visualizar diálogo SMTP

B64ACC=`echo -n "$ACCOUNT"|mimencode` # conta codificada em base64
B64PWD=`echo -n "$PASSWD"|mimencode` # senha codificada em base64

send(){
[ $D ]&&echo -en "S: $1\r\n"
 echo -en "$1\r\n" >&3
[ $D ]&&{ while read -t 5 n <&3; do echo -e "\tR: $n"; done; }
}

exec 3<>/dev/tcp/"$Server"/$Port||\
{ echo "$Server:$Port inacessível!"; exit 1 ; }

send RSET
send "EHLO $Server"
send "AUTH LOGIN"
send "$B64ACC"
send "$B64PWD"
send "MAIL FROM: <$ACCOUNT>"
send "RCPT TO: <$1>"
send DATA
send "From: "'"'"$NACC"'"'" <$ACCOUNT>"
send "To: "'"'""'"'" <$1>"
send "Date: `date`"
send "Subject: $2"
send ""
send "$3"
send \.
send QUIT

exec 3<&-
---------------

Para uso definitivo, talvez até o cabeçalho da mensagem deva ser mais
aprimorado, mas como o script está na mão, você faz do jeito que
quiser. Mas respeite o protocolo SMTP nos pontos de comando. Também
lembre que o usuário às vezes deve ser address@hidden e não
apenas fulano na hora de autenticar.

Não lembro de mais nada que possa te ajudar. Boa sorte!


--- ClycioC <address@hidden> wrote:
> Bom dia, pessoal
> 
> Gostaria de enviar um e-mail via shell script, usando um servidor
> smtp 
> que nao está instalado no meu computador (exige login e senha).
> Como poderia fazer?
> 
> se
> texto a enviar: texto.txt
> título da mensagem: Mensagem
> servidor smtp: smtp.abcd.com
> usuário: eu
> senha: secreto
> 
> tentei
> 
> cat texto.txt | mail -s "Mensagem" smtp address@hidden
> cat texto.txt | mail -s "Mensagem" smtp://address@hidden
> 
> sem sucesso
> 
> 
> Agradeço qualquer ajuda,
>     Tatsuo
> 
> 


__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com


reply via email to

[Prev in Thread] Current Thread [Next in Thread]