Páginas

terça-feira, 14 de dezembro de 2010

Enviar email para uma conta Gmail pelo terminal

Você não tem servidor de email interno na sua empresa? Gostaria de mandar email pela linha de comando? Isso é possível utilizando o programa msmtp :D...

O programa é simples até demais, pra quem usa sistemas baseados em Debian pode instalá-lo utilizando o aptitude ou apt-get:

# aptitude install msmtp

Após instalar o comando crie o seu arquivo de configuração na pasta do usuário ao qual você deseja enviar seus emails da seguinte forma:

# vim ~/.msmtprc
account gmail
host smtp.gmail.com
tls on
tls_certcheck off
tls_starttls off
port 465
auth on
user rafaelhenriqu
from rafaelhenriqu@gmail.com
password SuaSenha
account default : gmail

Após feito isso basta enviar emails se baseando no seguinte exemplo abaixo:

echo -e "From: Rafael Henrique <rafaelhenriqu@gmail.com>\nSubject: Apenas teste \nTo: Rafael Henrique <rafaelhenriqu@gmail.com>\n\nMeu texto ou comando\n\n" | msmtp -v "rafaelhenriqu@gmail.com"

Desta forma eu enviaria um email a mim mesmo. Agora vocês me perguntam onde utilizar esse comando? Aí basta usar sua criatividade! Eu utilizo pra enviar notificações Nagios para meu email! Porém você também pode utilizar para analizar logs no seu email, ou até mesmo fazer um programa No-ip "falso", conseguindo visualizar seu ip dinâmico no seu email como demonstrei em uma dica bem velha postada no Dicas-l AQUI. Porém eu mesmo não acreditei que iria usar essa dica depois de tanto tempo! Por fim acabei utilizando o msmtp juntamente com o Nagios e se tornou bem útil para o meu ambiente! :D

Isso ai galera... agora usem a criatividade!

3 comentários:

davola disse...

cara parabes bem explicado. Eu to com um problema nesta linha o arquivo do cat nao aparece no corpo mensagen vc pode me da uma força:

cat $LOG/isconnect_$data | msmtp $mail

vem o email mas nao o arquivo do cat.

msn joeldavola@hotmail.com, qualquer coisa ou aqui mesmo pra compartilhar com os brothers.

Rafael Henrique disse...

davola não entendi bem sua pergunta pode ser mais explícito? O que tem dentro de $LOG e $data e $mail ??

Falow!

Fred_FAGS disse...

cara muito bom esse post, vou usar para mandar logs para o email, vlw pela dica e parabenss