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

Re: e-mail via linha de comando



voce tem que instalar um servidor de email e configura-lo para usar o
SMTP de sua rede.
Um servidor de email bem magrinho para esse proposito é o exim4 :
apt-get install exim-daemon-light exim4-config

para configura-lo para usar smarthost :
dpkg-reconfigure exim4-config

Um scriptzinho para voce testar seu servidor/estação :
#!/bin/bash
# Script desenvolvido por :
# Gladiston Hamacker Santana <sirhamacker.tireisso@gmail.com>
# Data : 02/02/2006
# Uso : testar_email.sh [usuario@servidor.com.br]
# Dependencias : exim4-daemon (ou outro MTA) e uuencode
# Proposito : Envia um email de teste com o proposito de conferir
#       se este micro é capaz de enviar mensagens de alerta
#       por email.
#       A maioria, senão todos os MTAs fornecem o prorama
#       /usr/lib/sendmail que é responsável por enviar
#       a mensagem ao SMTP que estiver configurado.
#       Postfix, sendmail e Exim usam este programa.
#       Visto que alguns micros não necessitam ser um servidor
#       de email em si mesmo, a instalaçao do pacote
#       exim4-daemon-light exim4-config e' uma boa
#       recomendacao por ser bastante leve para esse proposito
#       Para configurar o exim4 :
#       dpkg-reconfigure exim4-config
#       Se algum parametro ($1) for informado, entao um email com
#       copia será enviando para o email informado como parametro.
#
#########################################################

email_to="usuario@seudominio.com.br"
email_cc=""
this_ip=`ifconfig eth0|grep "inet end" |cut -d":" -f2|cut -d" " -f2`
this_name=$HOSTNAME
if [ "$email_cc" == "" ] && [ "$1" != "" ] ; then
 email_cc="$1"
fi

if [ -f "/usr/lib/sendmail" ] ; then
   echo "enviando email de teste"
   echo "incluindo anexo do log de boot do sistema."
   touch /tmp/message
   echo "From: administrador@seudominio.com.br" >/tmp/message
   echo "To: $email_to">>/tmp/message
   if [ "$email_cc" != "" ] ; then
     echo "CC: $email_cc">>/tmp/message
   fi
   echo "Subject: Teste de envio de emails a partir de
$this_name($this_ip)">>/tmp/message
   echo " ">>/tmp/message
   echo "Segue o uptime deste  servidor :" >>/tmp/message
   uptime >>/tmp/message
   echo " ">>/tmp/message
   echo "Segue os usuarios conectados no ambiente linux :" >>/tmp/message
   users >>/tmp/message
   echo " ">>/tmp/message
   echo "Segue os usuarios conectados ao servidor de arquivos :" >>/tmp/message
   smbstatus -p >>/tmp/message
   echo " ">>/tmp/message
   echo "Segue em anexo o log de boot deste servidor." >>/tmp/message
   dmesg >/tmp/dmesg.txt
   uuencode /tmp/dmesg.txt dmesg.txt >>/tmp/message
   cat /tmp/message| /usr/lib/sendmail -i -t
   echo "Este computador : $this_name($this_ip) acabou de enviar uma
mensagem de teste para :"
   echo "$email_to"
   if [ "$email_cc" != "" ] ; then
     echo "Com copia para : $email_cc"
   fi
 else
   echo "Nao posso notificar por emal por falta do arquivo : /usr/lib/sendmail"
   exit 2;
fi


Em 26/07/07, Fernando Faria Mariano<fernando@kachan.com.br> escreveu:

 Bom dia.

 Pessoal em minha rede possuo dois servidores: um servidor de backup(1) e
outro de Firewall/Internet/e-mail(2).

 Quando digito o comando mail -s Assunto fernando@kachan.com.br no meu
servidor de e-mail(2) é enviado para minha caixa postal onde consigo receber
meu e-mail normalmente em meu cliente de e-mail. Mas quando digito o mesmo
comando em meu servidor de backup o e-mail vai para a sua propria pasta em
/var/mail/fernando (entrega local), ou seja, não vai para meu servidor de
e-mail que é a máquina (1).

 Gostaria configurar um programa client de e-mail (para console) para
utilizar em meus scripts de backups enviando alguns avisos como término do
backup, avisos de carga alta do sistema e etc... ou seja, preciso que o
e-mail enviado por linha de comando da maquina (2) seja enviada para meu
servidor de e-mail(1) e nao que a entrega seja local...

 Espero ter sido claro agora...


 Obrigado
 fernando faria



Reply to: