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.
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.
0 Comentários