Envio de E-mail com Python-smtplib

Artigo Técnico | Python

Hoje em dia, qualquer sistema que se diga “bom”, precisa no minimo ter um mecamisno para envio de e-mail. Pensando dessa forma, venho lhes trazer um passo à passo para trabalhar com envio de e-mail com python, usando a biblitoeca “smtplib”.

Como vamos usar uma biblioteca padrão do python, não precisaremos instalar nada, apenas importar a biblioteca para o nosso projeto. Sendo assim, podemos dar inicio.

Crie um arquivo “.py” para escrever nosso codigo, no meu caso criei um arquivo chamado “app.py”. Após isso, importe a biblioteca “smtplib”, da seguinte forma:

  • Import smtplib
Import smtplib

Percebe-se que no comentário da imagem àcima digo que, iremos trabalhar de forma estática, ou seja, os dados de remetente e destinatário estarão fixados no codigo, ao invés de recebermos ele dinamicamente de um formulário (ja que não usaremos interface web, somente python puro).

Nesse artigo usaremos o bloco de teste “try” & “except”, para trabalhar com possiveis erros e manipula-los caso ocorram.

Basicamente,:

- O bloco “try” permite testar um bloco de código para erros;

- O bloco “except” permite lidar com o erro.

Ja que estamos falando dessa estrturação, nada melhor do que mostrar como ela funciona, na pratica. Vamos começar pelo “try”:

Bloco Try

- Vamos lá, na linha 6 eu inicio o bloco de teste “try”;

- Na linha 8 instanciamos o rementente e seu e-mail (e-mail de quem esta enviando o correio eletronico);

- Na linha 11 instanciamos o destinatario (quem recebe o e-mail);

- Na linha 14 mostramos ao sistema qual mensagem iremos enviar ao destinatário;

- Linhas 17 e 18 são definidos o email e senha do remetente, para que seja liberado o acesso do script;

- Na linha 21, usaremos o servidor de envio do seu provedor de e-mail, no caso do gmail ficará: smtp.gmail.com:587;

- Das linhas 22 à linha 26 configuramos nossos parâmetros de entrada e iniciação do servidor de envio;

Para finalizarmos o código, iremos escrever nosso “except”, que será simples, por hora, apenas para mérito de aprendizado, ficará:

Bloco Except

Apenas será criado um “print” para caso de algo de errado e não trataremos a mensagem.

Para testar o que foi feito, abra seu terminal, acesse o diretório do seu arquivo e digite o seguinte comando:

  • python app.py

Pode-se observar que estou usando o python3 para executar meu codigo, mas nesse caso, fica à sua escolha.

Após executar o arquivo “app.py” recebi a mensagem “E-mail enviado com sucesso!”, retorno no qual deixei fixado na linha 28 do nosso script. Segue abaixo o codigo completo:

Código Completo

*Alertando que o envio pode demorar dependendo de sua conexão com a internet e o seu provedor de e-mail*

Dessa forma finalizo esse passo à passo relacionado ao envio de e-mail usando a biblioteca smtplib,.

Obrigado!