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:

  1. Em primeiro lugar, a biblioteca “smtplib” precisa ser importada.
  2. 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.

  3. 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.
  4. 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.