Como enviar email com Raspberry Pi em Python - MakerHero
Enviando email com Raspberry Pi e Python

Enviando e-mail com Raspberry Pi na linguagem Python 9

Neste post iremos mostrar como é simples enviar e-mail através de uma Raspberry Pi utilizando a linguagem Python. Assim você poderá, por exemplo, desenvolver sistemas de segurança e enviar alertas ou dados de sensores automaticamente para seu e-mail. Montaremos um projeto bem simples usando apenas um Kit Raspberry Pi Mega e uma Câmera. No primeiro exemplo de código enviaremos um e-mail simples e nos outros dois exemplos enviaremos um e-mail mais elaborado com campo Assunto, informações de temperatura da CPU e até foto em anexo. Assim você saberá os conceitos básicos para enviar email com Raspberry Pi em Python. 

Tenha em mãos um cartão micro SD já com o Raspbian instalado. Baixe aqui a imagem e utilize o etcher.io para gravar no cartão SD. 

Exemplo 1: enviar email com Raspberry Pi em Python

O Python já vem com um módulo para envio de e-mail, então não é necessário instalar nenhum pacote. Usaremos como teste o Gmail, para isso é necessário permitir o login de apps menos seguros. Isso porque a autenticação do nosso programa Python irá usar apenas e-mail e senha. Para ativar essa permissão em sua conta acesse aqui https://myaccount.google.com/lesssecureapps.

Crie um arquivo texto chamado email.py com o seguinte conteúdo:

Onde [email protected] é o e-mail de quem envia, “browncat” é a senha do e-mail de quem envia e [email protected] é o e-mail de quem recebe. Troque esses campos pelos dados desejados.

Execute o programa com o comando abaixo:

Exemplo 2: enviando e-mail com informação de temperatura da CPU

Com o programa abaixo podemos monitorar a temperatura da CPU da Raspberry Pi. Para isso o programa utiliza o módulo os e executa o comando shell vcgencmd measure_temp para fazer uma leitura da temperatura atual.

Na sua caixa de entrada de e-mail deverá aparecer o seguinte:

Email com Python e informações de temperatura da Raspberry Pi

Exemplo 3: enviando e-mail com foto em anexo

Seguindo com um exemplo um pouco mais elaborado iremos enviar um e-mail contendo o Assunto e anexada uma foto tirada com a câmera da Raspberry Pi.

Para tirar uma foto com a câmera na linguagem Python, precisamos instalar o pacote picamera. Execute os seguintes comandos:

sudo apt-get install python-setuptools
sudo easy_install picamera

Então crie um programa Python com o seguinte conteúdo:

Caso o programa execute com sucesso você deverá ver o seguinte no terminal:

Veja novamente sua caixa de e-mail

Enviar email com Raspberry Pi em Python e foto em anexo

Outro projeto que você pode tentar montar aí na sua casa e juntar os conceitos deste tutorial com os conceitos mostrados no tutorial abaixo sobre DHT11 e enviar email com Raspberry Pi em Python com as informações de temperatura do sensor DHT11. 

https://www.makerhero.com/blog/temperatura-umidade-dht11-com-raspberry-pi/

Gostou de saber como enviar email com Raspberry Pi em Python? Ajude-nos a melhorar o blog comentando abaixo sobre este tutorial.

Este tutorial foi baseado no Blog de Nael Shiab.

Faça seu comentário

Acesse sua conta e participe

9 Comments

  1. Olá
    Por acaso sabe se dá para usar este módulo com caracteres não ascii ( como acentos por exemplo). Sou de portugal e tenho uma implementação parecida, já tentei algumas coisas mas não obtive sucesso

  2. Olá Giovanni, muito bom e útil seu artigo, porém não estou conseguindo colocar titulo no e-mail disparado. Poderia me ajudar com essa dúvida?

    1. Olá Rodrigo!

      Você deve alterar esta linha:

      msg[‘Subject’] = “Hello from Raspberry Pi – Python email”

      Abraços!

      André – Equipe MakerHero

  3. Olá
    Em vez de mandar a temperatura do meu rasp gostava de mandar a temperatura do meu mac!
    É possível?

    1. Olá Bernardo! Creio que seja possível sim. Veja: https://robservatory.com/see-sensor-stats-in-terminal/

  4. ótimo artigo, pode por favor fazer o exemplo de envio de e-mail com os dados do sensor dht11?

    1. Olá Edson!

      Dê uma olhada nos nossos outros posts sobre Raspberry Pi especialmente neste:
      https://www.makerhero.com/blog/temperatura-umidade-dht11-com-raspberry-pi/

      Juntando os dois conceitos você consegue chegar no seu objetivo.

      Bons projetos!

  5. Ótima artigo! Como sugestão gostaria de um artigo que se comunicasse com o raspberry via Telegram. Tanto para acionar GPIO quanto para as GPIO forem acionadas devido a algum sensor. Seria legal ver as diferenças para o sistema Raspian e também o sistema mais “leve” que também é instalado no raspberry zero. Assim podemos automatizar residências com facilidade e “acessa” a residência em uma rede externa.

    1. Olá Chará! hehe

      Essa ideia é bem legal, vamos analisar a possibilidade de fazermos um post sobre isso.

      Enquanto isso você pode já ir dando uma olhada no post que temos sobre Bots Telegram com a Beaglebone Black: https://www.makerhero.com/blog/bot-telegram-com-beaglebone-black/

      Dê uma olhada na API também. Creio que já dá pra ir desenvolvendo alguma coisa: https://github.com/python-telegram-bot/python-telegram-bot

      Abraço!