Ferramenta desenvolvida em Python com interface gráfica para automatizar o envio de emails em lote de forma simples, organizada e segura.
O projeto foi criado com foco em produtividade, permitindo que usuários enviem mensagens para múltiplos destinatários sem a necessidade de copiar e colar emails manualmente.
Além do envio, a aplicação oferece validação de destinatários, templates reutilizáveis, modo de simulação, registro de logs e configuração segura de credenciais através de variáveis de ambiente.
Este projeto foi desenvolvido como uma solução prática para automatizar tarefas repetitivas relacionadas ao envio de emails.
O objetivo é demonstrar como a programação pode ser utilizada para resolver problemas reais do dia a dia de empresas, equipes administrativas, instituições de ensino e profissionais autônomos.
- Interface gráfica utilizando Tkinter
- Login local antes do acesso ao painel
- Inserção manual de destinatários
- Importação de arquivos
.csv - Importação de arquivos
.txt - Validação automática de emails
- Remoção de emails duplicados
- Templates reutilizáveis de mensagens
- Modo simulação (sem envio real)
- Envio SMTP com ou sem autenticação
- Delay configurável entre envios
- Registro completo de atividades em log
- Configuração segura através de arquivo
.env
- Python
- Tkinter
- SMTP
- python-dotenv
- Logging
- CSV
- EmailMessage (biblioteca padrão)
email-automation/
├── src/
│ ├── templates/
│ │ └── template_default.txt
│ ├── logs/
│ │ └── envios.log
│ │ └── .gitkeep
│ ├── exemplos/
│ │ └── lista_emails_exemplo.csv
│ ├── __init__.py
│ ├── main.py
│ ├── config.py
│ ├── email_sender.py
│ ├── validator.py
│ └── template_manager.py
│
├── .env.example
├── .gitignore
├── requirements.txt
├── README.md
└── LICENSE
Antes de começar, certifique-se de possuir:
- Python 3.10 ou superior
- Git (opcional)
Verifique a instalação:
python --versiongit clone https://github.com/SEU-USUARIO/email-automation.gitEntre na pasta:
cd email-automationBaixe o arquivo ZIP diretamente pelo GitHub, extraia o conteúdo e abra o terminal na pasta do projeto.
python -m venv .venv.venv\Scripts\activatesource .venv/bin/activateQuando ativado, aparecerá algo semelhante a:
(.venv)
pip install -r requirements.txtCopie o arquivo de exemplo.
copy .env.example .envcp .env.example .envEdite o arquivo .env:
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USE_TLS=true
SMTP_TIMEOUT=30
APP_LOGIN_USERNAME=Adm
APP_LOGIN_PASSWORD=8520
SENDER_EMAIL=seu_email@gmail.com
SENDER_NAME=Seu Nome
SMTP_USERNAME=seu_email@gmail.com
SMTP_PASSWORD=sua_senha_de_appO Gmail não permite autenticação SMTP utilizando a senha normal da conta.
É necessário criar uma Senha de App.
Acesse:
https://myaccount.google.com/security
Ative a opção:
Verificação em duas etapas
https://myaccount.google.com/apppasswords
- Clique em Criar
- Escolha um nome para o aplicativo
- Copie a senha gerada
Exemplo:
abcd efgh ijkl mnop
SMTP_USERNAME=seuemail@gmail.com
SMTP_PASSWORD=abcd efgh ijkl mnoppython src/main.pyAs credenciais de acesso são definidas no arquivo .env.
APP_LOGIN_USERNAME=Adm
APP_LOGIN_PASSWORD=8520Altere esses valores antes de utilizar a aplicação em produção.
maria@email.com
joao@empresa.com
ana@negocio.com
email
maria@email.com
joao@empresa.com
ana@negocio.comOs templates ficam armazenados em:
src/templates/
Todas as atividades são registradas automaticamente em:
src/logs/envios.log
O log registra:
- Emails enviados
- Erros de envio
- Emails inválidos
- Interrupções do processo
- Simulações realizadas
O sistema possui um modo de simulação para treinamento e testes.
Nesse modo:
- Nenhum email é enviado
- O fluxo completo é executado
- Os resultados são registrados normalmente
Ideal para validar configurações antes do envio real.
- Configurações separadas em
config.py - Envio isolado em
email_sender.py - Validação isolada em
validator.py - Templates isolados em
template_manager.py - Credenciais fora do código-fonte
- Uso de variáveis de ambiente
- Registro de logs
- Modo simulação
- Tratamento de erros SMTP
Verifique se:
- A verificação em duas etapas está ativada
- Está utilizando uma Senha de App
- O email foi digitado corretamente
- Não está utilizando a senha normal da conta Google
Verifique se:
- O login SMTP está sendo executado
- O usuário SMTP está correto
- A senha de app está correta
- TLS está habilitado
Certifique-se de estar na pasta principal do projeto antes de executar:
pip install -r requirements.txtVocê provavelmente está dentro da pasta src.
Volte para a pasta principal do projeto e execute:
python src/main.pyEnvie emails apenas para destinatários que autorizaram o recebimento das mensagens.
Evite:
- Spam
- Listas compradas
- Conteúdo enganoso
- Envios em massa sem consentimento
Respeite sempre as políticas do seu provedor de email.
Este projeto está licenciado sob a Licença MIT.
Consulte o arquivo LICENSE para mais informações.
Desejo um bom uso dessa ferramenta, apesar de simples creio que possa ser útil a alguém.