Blog

Postado em em 12 de abril de 2021

Envio de E-mail com Python – Automação no Python

Envio de e-mail com Python

Nessa aula vamos te mostrar como fazer o envio de e-mail com Python para que você possa incrementar seus códigos com esse recurso!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber a planilha que usamos na aula no seu e-mail, preencha:

Como Enviar E-mail Utilizando Python

Você já deve ter passado por uma situação em que precisava automatizar o envio de e-mails certo? Se sim, nós vamos te ajudar!

Caso não tenha passado por isso, vamos te ajudar também para que não passe por essa situação.

Vamos te mostrar como fazer uma automação com Python para te mostrar como enviar e-mail no Python para acrescentar essa funcionalidade ao seu código.

Como Fazer Envio de E-mail Com Python

Nessa aula nós vamos te mostrar como fazer automação com Python para enviar e-mail. É um código simples, mas que pode ser muito útil nas suas próximas aplicações.

Pois já não vai precisar ter que criar um e-mail padrão do zero sempre que precisar enviar um e-mail específico, vai poder configurar esse e-mail no próprio Python e automatizar esse processo juntamente com o restante do seu código.

Para esse exemplo que vamos mostrar é necessário que você tenha instalado no seu computador o Outlook (aplicativo), pois é ele que vamos utilizar para o envio de e-mail.

Dessa forma não será necessária nenhuma configuração de segurança, porta ou qualquer outra para poder enviar o e-mail.

Antes de começar, é necessário instalar a biblioteca Win32 caso ainda não tenha. É muito fácil, basta clicar em terminal na parte inferior esquerda do Pycharm e escrever pip install pywin32.

OBS: Caso ainda não tenha o Pycharm instalado e queira instalar, basta seguir o passo a passo do vídeo abaixo, é bem rápido e fácil.

Feito isso o programa irá instalar essa biblioteca e você não terá mais que repetir esse procedimento.

import win32com.client as win32

# criar a integração com o outlook
outlook = win32.Dispatch('outlook.application')

# criar um email
email = outlook.CreateItem(0)

faturamento = 1500
qtde_produtos = 10
ticket_medio = faturamento / qtde_produtos

# configurar as informações do seu e-mail
email.To = "destino; destino2"
email.Subject = "E-mail automático do Python"
email.HTMLBody = f"""
<p>Olá Lira, aqui é o código Python</p>

<p>O faturamento da loja foi de R${faturamento}</p>
<p>Vendemos {qtde_produtos} produtos</p>
<p>O ticket Médio foi de R${ticket_medio}</p>

<p>Abs,</p>
<p>Código Python</p>
"""

# anexo = "C://Users/joaop/Downloads/arquivo.xlsx"
# email.Attachments.Add(anexo)

email.Send()
print("Email Enviado")

Esse é o código que vamos utilizar para fazer o envio do e-mail. E agora vamos descrever o que cada parte do código vai fazer.

Inicialmente temos a utilização da biblioteca Win32 que já instalamos e logo em seguida temos a integração com o Outlook (que utilizar essa biblioteca do win32).

Na linha seguinte nós temos a criação do e-mail, ou seja, estamos criando esse item.

Nas 3 linhas abaixo nós estamos atribuindo algumas variáveis que no seu caso podem vir de outra parte do código, com informações importantes a serem enviadas por e-mail.

Feito isso nós vamos configurar as informações do e-mail:

  • Email.to – É o destino do e-mail, ou seja, quem vai receber o e-mail, podendo colocar mais de um destinatário conforme código;
  • Email.subjetct – Assunto do e-mail;
  • Email.HTMLbody – É o corpo do e-mail no formato HTML que vai ser um formato personalizado.

Agora vamos as explicações dos símbolos que temos dentro do nosso corpo de e-mail no formato HTML.

  • “”” e “”” ou ‘’’ e ‘’’ – É para indicar que o nosso texto será escrito em mais de uma linha dentro do HTML, então podemos utilizar 3 aspas duplas no início e no fim ou 3 aspas simples no início e no fim do código.
  • <p> e </p> – São as marcações de início e término de um parágrafo, ou seja, tudo que está dentro desses símbolos é referente a um parágrafo. Então caso queira outro parágrafo basta colocar o próximo texto com essa mesma marcação.
  • f + {} – É o que chamamos de fstring que é uma forma de fazer referência a uma variável dentro do texto para que o Python utilize o valor da variável ao invés de colocar somente o nome dela.

Na penúltima parte do código temos o anexo que é opcional, caso queira enviar. Essa variável vai ter o caminho do arquivo que será inserido no e-mail.

Logo em seguida temos o comando que anexa esse arquivo ao e-mail.

Por fim temos o emai.send que é o comando para enviar o e-mail da maneira que foi configurada.

Envio de e-mail com Python

Essa é a mensagem que recebemos no e-mail. Como informado anteriormente é possível adicionar anexos caso seja necessário, basta remover o # da linha e ajustar o caminho do arquivo, pois o # significa que é um comentário.

E linhas com comentários são ignoradas dentro do código, elas servem apenas para descrever melhor o código.

IMPORTANTE: É importante verificar se está logado no Outlook e se o arquivo que de fato está rodando é o arquivo de envio de e-mail. Verificado isso o código deve funcionar normalmente.

Conclusão

Viu como foi fácil o envio de e-mail utilizando o Python? É bem simples e pode te ajudar bastante nos seus próximos projetos.

Pois isso permite com que você mande esses e-mails automáticos a partir de alguma ação ou de algum valor por exemplo.

Se o estoque de um produto estiver baixo, já pode enviar um e-mail ao setor de suprimentos para comprar mais daquele produto, entre outras inúmeras atividades que pode criar com isso.

Agora basta praticar para poder fixar o conteúdo, a programação é algo que precisa ser praticada sempre para que consiga fixar o aprendizado e utilizar sempre que precisar.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Vai começar o maior evento de Power BI da América Latina! Quer participar? Preencha seu e-mail abaixo: