Há pouco tempo precisei que um script me enviasse um e-mail, no entanto precisava que o e-mail viesse de uma conta autenticada, pois caso contrário o servidor de e-mail de destino iria descartar a mensagem. Pesquisei um pouco e não encontrei muitos scripts, ou encontrei alguns que faziam uso de alguma ferramenta; como não queria instalar um ou outro software pra isso, acabei adaptando alguns scripts encontrados usando apenas o telnet para envio, e o resultado pode ser visto abaixo:
#!/bin/bash # # Envia e-mails usando uma conta de e-mail válida através de telnet # # Autor: Renato Resende Batista # mail: contato[@]zenatuz[.]com # twitter: @zenatuz # # Última atualização: 28/07/2010 # ############################### ############################### # # VARIÁVEIS # # end_remetente - Endereço de e-mail do remente # nome_remetente - Nome do rementente # para - Destinatário. # data - Data formatada como 01012010 as 11:31. # assunto - Assunto do e-mail. # mensagem - Texto da mensagem recebido como parâmetro (veja utilização abaixo). # usuario - Usuário (usuario@provedor.com.br) codificado em BASE64***. # senha - Senha codificada em BASE64***. # provedor - Endereço smtp do servidor utilizado. # # Nota***: Utilize o site abaixo para converter para BASE64 # http://www.webpan.com/Customers/Email/base64_conversion.htm # ############################### ############################### # # EXEMPLO DE UTILIZAÇÃO # # ./mail.sh "usuario@email.com" "Assunto da mensagem" "Mensagem a ser enviada." # ############################### para=$1; assunto=$2; mensagem=$3; end_remetente="usuario@email.com"; nome_remetente="Nome do remetente " data=`date "+%m/%d/%Y as %H:%M"`; usuario="bW9uaXABCXYZ112343Iuacs=="; senha="bW9uaXABCXYZ112343Iuacs=="; provedor="smtp.provedor.com"; ############################## # NÃO ALTERE OS DADOS ABAIXO # ############################## (echo "AUTH LOGIN";sleep 3 echo "$usuario"; sleep 1 echo "$senha"; sleep 1 echo "MAIL FROM: $end_remetente" ; sleep 1 echo "RCPT TO: $para"; sleep 1 echo "DATA"; sleep 1 echo "FROM: $nome_remetente" ; sleep 1 echo "TO: $para" ; sleep 1 echo "SUBJECT: $assunto"; sleep 1 echo " ------------------------------------------------------------ Data de envio: $data ------------------------------------------------------------ $mensagem ------------------------- ATENCAO -------------------------- Nao responda, e-mail enviado automaticamente. "; sleep 1 echo "."; sleep 2 echo "quit" sleep 1 ) | telnet $provedor 25 >;
De forma simples, sem necessitar de nada além de um telnet, você consegue enviar o e-mail autenticado! =D
Artigos relacionados:



![[REVIEW] Samsung Galaxy SIII](http://cpdd.com.br/wp-content/uploads/2012/05/destaqueGS3-50x50.png)

Pingback: Tweets that mention Script para envio de e-mail autenticado #shell -- Topsy.com
Pingback: Script para envio de arquivos por ftp #shell