Envie e-mail em Python
Najwa Riyaz
12 outubro 2021
Para enviar um e-mail usando Python, use as seguintes funções da biblioteca smtplib
.
SMTP(SMTP_SERVER, SMTP_PORT)
- cria uma sessão SMTP de acordo com o servidor SMTP e os detalhes da porta SMTP.starttls()
- para iniciar o TLS para a configuração de segurança.login(SMTP_USERNAME, SMTP_PASSWORD)
- para fornecer os detalhes de autenticação do remetente do e-mail.sendmail(EMAIL_FROM, EMAIL_TO, the_message)
- para enviar a mensagem do Remetente ao Destinatário.quit()
para sair da Sessão SMTP.
Aqui está um exemplo que demonstra o envio de e-mail por meio do servidor SMTP do Gmail.
import smtplib
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
SMTP_USERNAME = "sender_username_here@gmail.com"
SMTP_PASSWORD = "sender_password_here"
EMAIL_FROM = "sender_username_here@gmail.com"
EMAIL_TO = "receiver_username_here@gmail.com"
EMAIL_SUBJECT = "Attention:Subject here"
EMAIL_MESSAGE = "The message here"
s = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
s.starttls()
s.login(SMTP_USERNAME, SMTP_PASSWORD)
message = "Subject: {}\n\n{}".format(EMAIL_SUBJECT, EMAIL_MESSAGE)
s.sendmail(EMAIL_FROM, EMAIL_TO, message)
s.quit()
A saída pode ser a seguinte de acordo com a conexão construída naquele ponto em seu sistema -
(221, b"2.0.0 closing connection t12sm4676768pfc.133 - gsmtp")
Como resultado, o e-mail é enviado. O receptor recebe a mensagem com sucesso.
Observação:
- No caso do Gmail, forneça os seguintes detalhes SMTP:
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
Além disso, a configuração a seguir precisa ser ativada no Gmail antes de executar o código.
https://myaccount.google.com/lesssecureapps
- No caso do Yahoo Mail, forneça os seguintes detalhes SMTP:
SMTP_SERVER = "smtp.mail.yahoo.com"
SMTP_PORT = 587
Além disso, gere uma senha de aplicativo
do Yahoo antes de executar o código. Verifique o link abaixo.
https://help.yahoo.com/kb/generate-separate-password-sln15241.html
- Da mesma forma, se desejar utilizar qualquer outro provedor de correio, utilize os respectivos dados e pré-requisitos do servidor SMTP.