Skip to content

wqiluc/Automacao_E-mails_Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hashtag Treinamentos
Automação de
E-mails com Python

📧

Logo centro

Projeto de uma aplicação real em Python para automação de e-mails corporativos, integração com planilhas, geração de relatórios gerenciais, envio automático de mensagens personalizadas e notificações push a cada envio. 💻

💻⛏️ Tecnologias e Ferramentas Utilizadas:
Tecnologias Badge



👨🏻‍💻 Autor deste Repositório:

Lucas Paguetti Pereira 🧙‍♂️
🏫 Instituição: Cesar School 🎓🧡
📍 Recife, Pernambuco — Brazil 🇧🇷



🌐 Hashtag Treinamentos:

🏛️ Arquitetura do Projeto:
Arquitetura Badge

Automacao_E-mails_Python/
├── img /
│   ├── Hashtag_logo.jpeg 
│   ├── Hashtag_logo2.jpeg 
│   ├── pushcut_notify.jpeg 
│   └── pushcut_notify_phone.jpeg 
│
├── auto /
│   ├── python /
│   │   ├── automação.py    
│   │   ├── apoio.py 
│   │   ├── cores.py 
│   │   └── docstring.py 
│   ├── ipynb /
│   │   └── docstring.ipynb 
│   └── spec Spec Técnica/
│       └── Vendas.xlsx 
│
├── .gitignore 
├── README.md 
└── license 

🎯 Objetivo do Repositório:
Objetivo Badge

Aprender e aplicar técnicas de automação de e-mails com Python, integrando planilhas, calculando resultados e enviando relatórios automaticamente, de forma prática e eficiente ✅📊.

📂 Scripts do Projeto
Scripts Badge

Python auto/python/automação.py

Script principal da automação. Abre o Google Chrome (navegador), acessa a pasta do Drive com a planilha de vendas, lê o arquivo Vendas.xlsx com Pandas e calcula o faturamento total e a quantidade de produtos vendidos. Em seguida, monta o assunto e o corpo do e-mail com o relatório e o envia 10 vezes via Gmail — a cada envio, dispara também uma notificação push no celular através do webhook da Pushcut.

Python auto/python/apoio.py

Script auxiliar de desenvolvimento. Aguarda 7 segundos (tempo para posicionar o mouse) e imprime as coordenadas exatas do cursor via pyautogui.position(). Usado para descobrir as posições de tela (pyautogui.click(x=..., y=...)) necessárias em automação.py.

python3 auto/python/apoio.py
# → posicione o mouse e aguarde 7s → imprime (x, y)

Python Referência ANSI auto/python/cores.py

Módulo de constantes de cores ANSI para saída formatada no terminal. Define variáveis como Verde, Amarelo, Negrito, Reset, etc., importadas por automação.py para colorir as mensagens de progresso impressas no console durante o envio dos e-mails.

Python auto/python/docstring.py & auto/ipynb/docstring.ipynb

Documentação narrada do desafio: descreve o objetivo do projeto, as bibliotecas utilizadas e o passo a passo do fluxo de automação (acessar o sistema → navegar até os relatórios → baixar a base → calcular indicadores → enviar e-mail). Disponível tanto em script .py quanto em notebook .ipynb para leitura interativa.

🔁 Fluxo de Automação
Automação Badge

[automação.py]
      │
      ▼
Abre o Google Chrome  ──►  Acessa a pasta do Drive (Vendas.xlsx)
      │
      ▼
pandas.read_excel("auto/spec/Vendas.xlsx")
      │
      ▼
faturamento_empresa = soma da coluna "Valor Final"
quantidade_empresa_produtos = soma da coluna "Quantidade"
      │
      ▼
Monta assunto + corpo do e-mail com o relatório
      │
      ▼
┌────────────── repete 10x ──────────────┐
│                                         │
│  Abre nova aba → Gmail                  │
│  Cola destinatário / assunto / corpo    │
│  ⌘ + Enter  →  envia o e-mail ✅        │
│                                         │
│  copia url → Pushcut (webhook)          │
│  Notifica o celular do envio 📲         │
│                                         │
└─────────────────────────────────────────┘
      │
      ▼
Imprime no terminal o resumo do Drive com os dados 🖥️

📲 Notificações via Pushcut

A cada e-mail enviado com sucesso, automação.py abre uma nova aba e acessa a URL no navegadir e dispara o webhook da Pushcut (webhook_url), o que dispara uma notificação push no celular do dono do projeto confirmando o envio — útil para acompanhar o progresso da automação sem precisar olhar para a tela do computador.

Caution

A URL do webhook em automação.py é pessoal e vinculada à conta Pushcut do autor. Para reutilizar o projeto, substitua webhook_url por um webhook próprio criado no app Pushcut (iOs only🔺).

🖥️📱 Telas da Notificação
Screenshots Badge

💻 Computador 📱 Celular
Notificação disparada a partir do computador
Webhook disparado pelo automação.py assim que um e-mail é enviado com sucesso.
Notificação push recebida no iPhone
Notificação push recebida no iPhone via app Pushcut.

▶️ Como rodar o projeto:
Como Rodar Badge

Este projeto lê a planilha Vendas.xlsx diretamente da pasta do projeto e executa a automação completa 🤖📊

1️⃣ Abrindo o terminal no seu sistema operacional

macOS

# Spotlight (⌘ + Espaço) → digite "Terminal" → Enter

Linux

# Pressione Ctrl + Alt + T
# ou procure por "Terminal" no menu de aplicativos

Windows 10/11

# Pressione Win + R → digite "cmd" → Enter
# ou pesquise por "Prompt de Comando" no menu Iniciar
# (Se estiver usando PowerShell, funciona da mesma forma)

Python

# 2️⃣ Navegue até a pasta do projeto

cd caminho/para/a/pasta/Projeto

# Exemplo:
# cd ~/Desktop/Projeto

# 3️⃣ Confira se os arquivos estão no lugar certo 📂
ls auto/python auto/ipynb auto/spec

# Você deve ver algo como:
# auto/python: automação.py  apoio.py  cores.py  docstring.py
# auto/ipynb: docstring.ipynb
# auto/spec: Vendas.xlsx

# 4️⃣ Instale as dependências do projeto 📦
pip install pandas pyautogui pyperclip openpyxl

# 5️⃣ (Opcional) Verifique se a planilha existe
ls auto/spec/Vendas.xlsx

# 6️⃣ Execute o script 🚀
python3 auto/python/automação.py

# ⚠️ Importante: mantenha o mouse parado e não minimize as janelas
# durante a execução — o script controla o teclado e o mouse via PyAutoGUI.

🔑 Versões Utilizadas:

About

🐍 Automação de e-mails com Python | 📧 Integração com planilhas Excel 🐼 | 🌐 Relatórios e mensagens automatizadas | Notificações Personalizadas via webhook 📲

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors