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

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

Re: E-mail via shell


From: weder_feliciano
Subject: Re: E-mail via shell
Date: Fri, 14 Jul 2006 13:20:16 -0000
User-agent: eGroups-EW/0.82

Ok esse script ja vai ajudar bastante.

Weder 



--- Em address@hidden, Marcos Braga <braga@v...> escreveu
>
> Reinaldo Marques de Lima escreveu:
> > From: "weder_feliciano" <weder_feliciano@y...>
> > Reply-To: address@hidden
> > To: address@hidden
> > 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
>






reply via email to

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