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

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

Re: [shell-script] E-mail via shell


From: Reinaldo Marques de Lima
Subject: Re: [shell-script] E-mail via shell
Date: Fri, 14 Jul 2006 13:16:39 +0000


Valeu Marcos, mas quem ta precisando de help é o Weder

8^S

+--------------------------------------------------------------------------+
Reinaldo
Linux User : 406967
Emails:
echo 'reimlima''.com' | sed 's/\(reimlima\)\(.com\)/\n\1@hotmail\2\n\1@yahoo\2.br\n\1@gmail\2\n/'
+--------------------------------------------------------------------------+




From: Marcos Braga <address@hidden>
Reply-To: address@hidden
To: address@hidden
Subject: Re: [shell-script] E-mail via shell
Date: Fri, 14 Jul 2006 09:05:26 -0400

Reinaldo Marques de Lima escreveu:
> From: "weder_feliciano" <address@hidden>
> 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]