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