Postagem em destaque

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I

Este post é o primeiro de uma série de seis que escrevi tratando de controle de potência e PID (controle proporcional, integral e derivativo...

domingo, 7 de setembro de 2014

Enviando email do seu Raspberry Pi

Mostrei aqui outro dia como se fazer um sensor de presença tipo PIR funcionar no Raspberry. Então agora podemos detectar a presença de alguém em casa, mas como avisar alguém disso? Que tal se o Pi mandasse um email cada vez que alguém entrar no seu quarto?

Para isso temos que primeiro configurar o nosso RPi para enviar mensagens de email. É isso que vamos fazer a partir de agora:

- Precisamos de uma conta de remetente, que iremos usar para enviar nossos emails. O exemplo que vou usar é de uma conta no gmail, mas em princípio pode ser usado qualquer outro servidor smtp, como Outlook ou mesmo o seu próprio provedor. A conta do meu exemplo é a automatobr1@gmail.com. Detalhe: para entrar em contato comigo NÃO mande email para essa conta, eu não a monitoro. Para falar comigo use os comentários desse bloco. Se quiser entrar em contato em privado, deixe uma mensagem falando isso e eu entro em contato.

- Precisamos de uma aplicação tipo MTA (Message Transfer Agent). No meu caso, resolvi usar o exim4. Abaixo, instruções sobre como instalar, configurar e testar.

1) Instale o bicho
sudo apt-get install exim4
2) Configure-o

sudo dpkg-reconfigure exim4-config
Agora é responder às perguntas:

a) Primeiro temos que indicar o tipo de mail server que vamos usar. Selecione a segunda opção: "mail sent by smarthost; received via SMTP or fetchmail"

b) A próxima questão é o nome do sistema de email: responda o nome do seu RPi, o default é raspberry, a não ser que vc o tenha mudado.

c) Na próxima questão deixe o valor que está lá: 127.0.0.1; ::1

d) Na próxima, ponha raspberry.

e) Machines to relay for: deixe em branco

f) Endereço dp hostname para envio dos emails: se for Google, coloque smtp.gmail.com::587

g) Hide local mail in outgoing email: resonda No.

h) Keep number...: responda No

i) Delivery method for local mail: selecione "Maildir format in home directory"

j) Split configuration...: responda No.

3) Agora vc tem que informar os detalhes de sua conta de email. Como root, edite /etc/exim4/passwd.client:

sudo nano /etc/exim4/passwd.client
E adicione as próximas linhas ao fim do arquivo:
gmail-smtp.l.google.com:YOU@gmail.com:PASSWORD
*.google.com:YOU@gmail.com:PASSWORD
smtp.gmail.com:YOU@gmail.com:PASSWORD
Claro que vc deve trocar YOU pelo seu usuário no GMail (no meu caso, automatobr1) e PASSWORD pelo seu password da conta no GMail.

Depois vc só tem que atualizar e reiniciar a aplicação de email. Para isso:

sudo update-exim4.conf
sudo /etc/init.d/exim4 restart
Agora é só testar o bicho. Para isso:
mail -s "Testing..." someone@example.com < body.txt
Nesse caso o sistema vai mandar a mensagem do arquivo body.txt para someone@example.com.

É isso.

No próximo post, uma aplicação deste.

Abracadabraço,

Mauro