Como enviar e-mail usando Python

Neste tutorial, você aprenderá como enviar e-mails usando Python. O Python fornece um módulo simples e fácil de usar chamado smtplib para enviar e-mails. Você também obterá uma breve compreensão de como funcionam os e-mails e como integrar texto, anexos e HTML em seu e-mail. 

Aqui, vamos construir este projeto do zero e tentar entender como podemos enviar e-mails usando Python. Para enviar e-mail usando Python, seguimos estas etapas.

 

Etapa 1: configurar o servidor SMTP

Para enviar e-mail usando Python, use o cliente smtplib para se conectar a um servidor SMTP distante se sua estação de trabalho local ainda não executar um servidor SMTP. A menos que você use um serviço de webmail (como Hotmail ou Google Mail), seu provedor de e-mail deve ter fornecido a você as informações do servidor de e-mail de saída listadas abaixo, que você pode enviar a eles. As informações do servidor de e-mail são as seguintes:

mailserver = smtplib.SMTP('smtp.gmail.com',587)

Etapa 2: criar os objetos de mensagem MIMEMultipart e carregá-los com os cabeçalhos apropriados:

Em primeiro lugar, crie uma instância de MIMEMultipart, ou seja, msg . Depois disso, armazene o assunto do e-mail, o e-mail do remetente e o e-mail do destinatário.

    msg = MIMEMultipart()
    msg['From'] = "me@gmail.com"
    msg['To'] = "you@gmail.com"
    msg['Subject'] = "Email using Python"

Passo 3: Adicionando o corpo da mensagem:

Para enviar um e-mail usando Python, escreva o corpo da mensagem que deseja enviar. Agora anexe o corpo com a msg de instância usando a função attach. Vamos ver o código de exemplo abaixo.

    message = 'Scaler Topics'
    msg.attach(MIMEText(message))

Passo 4: Use o servidor SMTP para enviar a mensagem:

Portanto, após configurar a conexão, você pode enviar o e-mail usando a função sendmail(), que recebe 3 parâmetros, ou seja, Correio do Receptor, Correio do Remetente e Mensagem.

    mailserver.sendmail('me@gmail.com','you@gmail.com',msg.as_string())

Código completo:

    # libraries to be imported
    import smtplib
    from email.MIMEMultipart import MIMEMultipart
    from email.MIMEText import MIMEText

    # instance of MIMEMultipart
    msg = MIMEMultipart()

    # storing the sender's email address
    msg['From'] = 'me@gmail.com'

    # storing the receiver's email address
    msg['To'] = 'you@gmail.com'

    # storing the subject
    msg['Subject'] = 'Email using Python'

    # Store the body of the mail
    message = 'Scaler Topics'

    # attach the body with the msg instance
    msg.attach(MIMEText(message))

    # creates SMTP session
    mailserver = smtplib.SMTP('smtp.gmail.com', 587)

    # identify ourselves to smtp gmail client
    mailserver.ehlo()

    # secure our email with tls encryption
    mailserver.starttls()

    # re-identify ourselves as an encrypted connection
    mailserver.ehlo()

    # Authentication
    mailserver.login('me@gmail.com', 'mypassword')

    mailserver.sendmail('me@gmail.com', 'you@gmail.com', msg.as_string())

    mailserver.quit()

Feliz Codificação!!!

1.00 GEEK