fbpx
Como enviar E-mails com Python usando o SMTP

Este pequeno post tem o intuito de mostrar como enviar E-mails com Python usando o SMTP, bem como uma introdução sobre o SMTP, além de falar sobre um módulo Python bastante utilizado para enviar emails.

Com essas informações você pode conseguir escalar bastante o uso avançado desse módulo, enviando emails com anexo e até mesmo com templates HTML. Vamos lá?

Como enviar E-mails com Python usando o SMTP

Mas antes…

Precisamos entender um pouco mais sobre o protocolo SMTP.

O SMTP, ou “Simple Mail Transfer Protocol”, em bom português: Protocolo Simples de Transferência de Correspondência.

E basicamente o protocolo funciona com o direcionamento e envio de e-mails entre servidores.

Agora, falando um pouco do Python, o módulo smtplib define um objeto de sessão de cliente SMTP que pode ser utilizado para enviar e-mail para toda máquina conectada à Internet que possua um serviço de processamento SMTP ou ESMTP.

Aqui está como criar um objeto SMTP

import smtplib
 
server = smtplib.SMTP(host='host_address',port=your_port)

 

Entretanto, preste atenção!

O código que eu vou te mostrar vai permitir enviar um e-mail via SMTP usando um servidor do Gmail. All Right?

Porém, existe um pequeno probleminha. O Google, inicialmente, não vai te permitir realizar o login via smtplib porque por padrão, ele considera esse tipo de conexão usando software ou código não identificado como “menos segura”.

Para resolver isso é bem tranquilo, basta logar na sua conta do Google e acessar o link a seguir: https://www.google.com/settings/security/lesssecureapps

Mude para “ON” a oção de “Allow less secure apps”. Veja a imagem modelo logo abaixo.

Como enviar E-mails com Python usando o SMTP

Vamos criar e enviar um E-mail Simples?

Vamos enfim seguir com os passos para realização da tarefa.

Observe abaixo o código e em seguida a explicação do que cada linha de código executa.

import smtplib

email_from = "e-mail remetente"
email_to = "e-mail destino"

smtp = "smtp.gmail.com"

server = smtplib.SMTP(smtp, 587)
server.starttls()
server.login(email_from, open('senha.txt').read().strip())

msg = "Test"

server.sendmail(email_from, email_to, msg)
server.quit()

print("Sucesso ao enviar o email")

Percebe que o primeiro passo é importar a biblioteca smtplib?

As duas linhas a seguir trata das informações dos E-mails do remetente e do destinatário. também temos a criação da variável SMTP para identificação do servidor do Gmail.

Na linha 8, inicia-se a instância da função SMTP, onde é definido o servidor SMTP e a porta.

Em seguida, para que funcione é necessário definir o padrão TLS.

Essa próxima linha é super importante! Nela faremos o login com o servidor usando usuário e senha. Lembrando que foi criado um arquivo de textos separado apenas para armazenar a senha.

Na sequencia temos a mensagem sendo armazenada em uma variável, o envio dessa mensagem, fechamos a conexão e imprimimos uma mensagem na tela.

Próximos passos?

Essa foi uma introdução bem simples do que o Python e a biblioteca smtplib é capaz de fazer.

É possível também criar um código com envio de e-mail bem mais elaborado, com template HTML, envio automático, anexo de arquivos entre outras infinidade de possibilidades.

Para mais detalhes acesse a documentação do Python.

Tags: | |

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solicitar exportação de dados

Utilize este formulário para solicitar a exportação de seus dados.

Solicitar remoção de dados

Utilize este formulário para solicitar a remoção de seus dados.

Solicitar retificação de dados

Utilize este formulário para solicitar a retificação dos seus dados neste site. Aqui você pode corrigir ou atualizar seus dados por exemplo.

Solicitar cancelamento de inscrição

Utilize este formulário para solicitar o cancelamento de inscrição do seu e-mail em nossas Listas de E-mail.