Reinaldo Marques de Lima escreveu:
> From: "weder_feliciano" <[EMAIL PROTECTED]>
> Reply-To: shell-script@yahoogrupos.com.br
> To: shell-script@yahoogrupos.com.br
> Subject: [shell-script] E-mail via shell
> Date: Thu, 13 Jul 2006 23:01:39 -0000
>
> Gostaria de saber se é possível criar um shell que mande e-mail em
> modo texto, teria interesse em criar uma rotina, por exemplo, se tipo
> um script achar o resulto x ele envia um e-mail para adm alertando. Se
> tem como alguem pode me dizer o que preciso pra isso?
>   
Reinaldo,

    Há algum tempo atrás e com a ajuda da lista e outros scripts 
similares, desenvolvi este script que envia e-mail via telnet para 
resolver uma situação parecida com a tua, mas não tive tempo de deixá-lo 
com uma cara mais "profissional".

    Utilize para tirar idéias de como fazer, se tiver alguma melhora, 
fique a vontade para passar em pvt.

--- início
#-- funcao enviaMail()
#versao: 2006011001
#-----
# script de mail
#
# o que deve ser informado:
# remetente = remetente do e-mail
# destinatario = destinatario do e-mail
# copia = com copia para
# assunto = assunto do e-mail, separado por ""
# anexo = variavel que contera' o texto a ser anexado
#
# nao importa a ordem das variaveis, mas devem ser carregadas antes
# da execucao da funcao para ter validade, caso contrario ocorrera
# um erro e o mail nao sera' enviado

email=eMail$$.sh
host=`hostname -s`
smtp=<ip do servidor de mail>
data=`LC_ALL=C date "+%a, %d %b %Y %k:%M:%S %z"`

enviaMail() {
[ -z $remetente ] && echo nao existe remetente && return 1
[ -z $destinatario ] && echo nao existe destinatario && return 1
echo '#!/bin/bash' > $email
echo -n "(" >> $email
echo "echo HELO $host; sleep 1" >> $email
echo "echo MAIL FROM: $remetente; sleep 1" >> $email
echo "echo RCPT TO: $destinatario; sleep 1" >> $email
[ ! -z "$copia" ] && echo "echo RCPT CC: $copia; sleep 1" >> $email
echo "echo DATA; sleep 1" >> $email
echo "echo User-Agent: Shell Script via Telnet" >> $email
echo "echo From: $remetente" >> $email
if [ -z "$assunto" ]; then
    echo "echo Subject: \"sem assunto\"" >> $email
else
    echo "echo Subject: $assunto" >> $email
fi
echo "echo Date: $data" >> $email
echo "echo To: $destinatario" >> $email
[ ! -z "$copia" ] && echo "echo Cc: $copia" >> $email
echo "echo \"\"" >> $email
echo "echo \"$anexo\"" >> $email
echo "echo \".\"; sleep 1" >> $email
echo "echo \"\"" >> $email
echo "echo QUIT" >> $email
echo ") | telnet $smtp 25" >> $email
chmod +x $email
./$email >/dev/null 2>/dev/null
rm -f $email
}
--- fim --

    Como é uma função, para utilizá-lo, informe as seguintes variáveis:

remetente=<email_do_remetente>
destinatario=<email_do_destinatário>
copia=<email_cc(se_houver)>
assunto=<assunto>
anexo=<texto_a_ser_anexado>

    Após carregar as variáveis digite "enviaMail" dentro do seu script.

Qualquer dúvida, posta na lista.

[]'s
Braga


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a