Envie e-mail da sua conta do Gmail usando Python
Aqui, aprenderemos como enviar um e-mail básico simples usando código Python. Python, por ser uma linguagem poderosa não precisa de nenhuma biblioteca externa para importar e oferece uma biblioteca nativa para enviar e-mails - “lib SMTP”. “Smtplib” cria um objeto de sessão cliente de protocolo de transferência de correio simples que é usado para enviar e-mails para qualquer id de e-mail válido na Internet. Sites diferentes usam números de porta diferentes.
Neste artigo, estamos usando uma conta do Gmail para enviar um e-mail. O número da porta usado aqui é '587'. E se quiser enviar e-mail usando um site diferente do Gmail, você precisa obter as informações correspondentes.
Etapas para enviar e-mail da conta do Gmail:
- Em primeiro lugar, a biblioteca “smtplib” precisa ser importada.
- Depois disso, para criar uma sessão, estaremos usando sua instância SMTP para encapsular uma conexão SMTP.
s = smtplib.SMTP ('smtp.gmail.com', 587)
Nisto, você precisa passar o primeiro parâmetro da localização do servidor e o segundo parâmetro da porta a ser usada. Para o Gmail, usamos a porta número 587.
- Por razões de segurança, agora coloque a conexão SMTP no modo TLS. TLS (Transport Layer Security) criptografa todos os comandos SMTP. Depois disso, para segurança e autenticação, você precisa passar as credenciais da sua conta do Gmail na instância de login. O compilador mostrará um erro de autenticação se você inserir um ID de e-mail ou senha inválida.
- Armazene a mensagem que você precisa enviar em uma variável, digamos, mensagem. Usando a instância sendmail(), envie sua mensagem. sendmail() usa três parâmetros: sender_email_id, receiver_email_id e message_to_be_sent . Os parâmetros precisam estar na mesma sequência.
Isso enviará o e-mail de sua conta. Depois de concluir sua tarefa, encerre a sessão SMTP usando quit().
import
smtplib
s
=
smtplib.SMTP(
'smtp.gmail.com'
,
587
)
s.starttls()
s.login(
"sender_email_id"
,
"sender_email_id_password"
)
message
=
"Message_you_need_to_send"
s.sendmail(
"sender_email_id"
,
"receiver_email_id"
, message)
s.quit()
Enviando a mesma mensagem para várias pessoas
Se você precisar enviar a mesma mensagem para pessoas diferentes. Você pode usar o loop for para isso.
Por exemplo, você tem uma lista de ids de e-mail para os quais precisa enviar o mesmo e-mail. Para fazer isso, insira um loop “for” entre a inicialização e o encerramento da sessão SMTP. O loop será inicializado passo a passo e após o envio do e-mail, a sessão SMTP será encerrada.
import
smtplib
li
=
[
"xxxxx@gmail.com"
,
"yyyyy@gmail.com"
]
for
dest
in
li:
s
=
smtplib.SMTP(
'smtp.gmail.com'
,
587
)
s.starttls()
s.login(
"sender_email_id"
,
"sender_email_id_password"
)
message
=
"Message_you_need_to_send"
s.sendmail(
"sender_email_id"
, dest, message)
s.quit()
Pontos importantes:
- Este código pode enviar e-mail simples que não contém nenhum anexo ou assunto .
- Uma das coisas mais incríveis sobre este código é que podemos enviar qualquer número de e-mails usando isso e o Gmail geralmente coloca seu e-mail na seção principal. Os e-mails enviados não são detectados como spam em geral.
- O manuseio de arquivos também pode ser usado para buscar a id do email de um arquivo e, posteriormente, ser usado para enviar os emails.
Próximo: Envie e-mail com anexos de sua conta do Gmail usando Python
Este artigo é uma contribuição de Rishabh Bansal . Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou enviar o seu artigo para contribute@geeksforgeeks.org. Veja o seu artigo que aparece na página principal do GeeksforGeeks e ajude outros Geeks.
Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais informações sobre o tópico discutido acima.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva