Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Email Automatic 📧

Sistema automatizado para envio em massa de emails personalizados através do Microsoft Outlook, com controles de rate limiting e proteção anti-spam.

🎯 Sobre o Projeto

O Email Automatic é uma ferramenta Python desenvolvida para automatizar campanhas de email marketing e comunicações em massa de forma profissional e segura. O sistema utiliza integração nativa com o Microsoft Outlook para enviar emails HTML personalizados a partir de uma base de dados em Excel.

✨ Principais Vantagens

🚀 Automação Completa

  • Envio em massa: Processa automaticamente grandes listas de destinatários
  • Template HTML: Suporta emails ricos em formatação e design profissional
  • Integração nativa: Usa o Outlook instalado no sistema (autenticação automática)
  • Progressão visual: Barra de progresso em tempo real com tqdm

🛡️ Proteção Anti-Spam

  • Rate limiting inteligente:
    • Intervalo aleatório de 30-60 segundos entre cada email
    • Pausa de 10-15 minutos a cada 30 emails enviados
    • Randomização para simular comportamento humano
  • Redução de bloqueios: Minimiza riscos de ser marcado como spam pelos servidores
  • Conformidade: Respeita boas práticas de envio em massa

🎯 Confiabilidade

  • Tratamento de erros: Continua o envio mesmo se um email falhar
  • Logs detalhados: Registra cada email enviado ou erro ocorrido
  • Confirmação de envio: Solicita autorização antes de iniciar o processo
  • Salvamento automático: Emails são salvos como rascunho antes do envio

📋 Pré-requisitos

Software Necessário

- Python 3.7 ou superior
- Microsoft Outlook instalado e configurado
- Windows (devido à dependência do win32com)

Bibliotecas Python

pip install pandas
pip install pywin32
pip install tqdm

📁 Estrutura do Projeto

email_automatic/
│
├── email_automatic.py      # Script principal
├── teste.html              # Template HTML do email
├── planilha.xlsx           # Base de dados (exemplo)
├── requirements.txt        # Dependências do projeto
└── README.md              # Este arquivo

🔧 Como Usar

1. Preparar a Planilha Excel

Crie uma planilha Excel (.xlsx) com pelo menos uma coluna chamada email:

email
[email protected]
[email protected]
[email protected]

2. Criar o Template HTML

Crie um arquivo teste.html com o corpo do seu email:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
    <h1>Olá!</h1>
    <p>Este é um email automatizado.</p>
    <p>Atenciosamente,<br>Sua Empresa</p>
</body>
</html>

3. Configurar o Assunto (opcional)

No arquivo email_automatic.py, linha 29, altere o assunto:

assunto_email = "Seu Assunto Aqui"

4. Executar o Script

python email_automatic.py

5. Seguir as Instruções

  1. Digite o nome da planilha (sem a extensão .xlsx)
  2. Confirme o envio digitando sim ou s
  3. Aguarde o processo ser concluído

⚙️ Configurações Avançadas

Ajustar Intervalo Entre Emails

Linha 60 do código:

time.sleep(random.uniform(30, 60))  # 30 a 60 segundos

Ajustar Tamanho dos Lotes

Linha 63 do código:

if (index + 1) % 30 == 0:  # A cada 30 emails

Ajustar Pausa Entre Lotes

Linha 66 do código:

time.sleep(random.uniform(600, 900))  # 10 a 15 minutos

📊 Exemplo de Uso

Digite o nome da planilha aqui e aperte ENTER: clientes_janeiro
--------------------------------------------------

Posso enviar os e-mails? (sim/não) sim
--------------------------------------------------

100%|████████████████████████| 150/150 [1:45:30<00:00, 42.20s/it]
E-mail enviado para [email protected]
E-mail enviado para [email protected]
...
--------------------------------------------------
Tempo de espera de 10 a 15 minutos a cada 30 emails enviados...
--------------------------------------------------

⚠️ Avisos Importantes

Segurança

  • Nunca compartilhe planilhas com dados de clientes em repositórios públicos
  • Adicione *.xlsx ao .gitignore
  • Mantenha o template HTML genérico no repositório

Legalidade

  • Certifique-se de ter consentimento dos destinatários (LGPD/GDPR)
  • Inclua sempre uma opção de descadastramento
  • Respeite as leis de proteção de dados do seu país

Limites do Outlook

  • Microsoft 365: Limite de 10.000 destinatários por dia
  • Outlook.com: Limite de 300 emails por dia
  • Exchange Server: Varia conforme configuração do servidor

🐛 Solução de Problemas

"Planilha não encontrada"

  • Verifique se o arquivo .xlsx está na mesma pasta do script
  • Digite apenas o nome, sem a extensão

"Outlook não está instalado"

  • Instale o Microsoft Outlook
  • Configure ao menos uma conta de email

Emails vão para spam

  • Reduza a velocidade de envio
  • Melhore o conteúdo do email (evite palavras suspeitas)
  • Configure SPF, DKIM e DMARC no seu domínio

📦 Requirements.txt

pandas>=1.5.0
pywin32>=305
tqdm>=4.65.0

🤝 Contribuindo

Este é um projeto pessoal, mas sugestões são bem-vindas! Para contribuir:

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

📝 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

📧 Contato

Anderson Luiz - Desenvolvedor


⭐ Se este projeto foi útil para você, considere dar uma estrela no repositório!

About

Automação para envio de e-mails profissionais com html utilizando python, pandas e pywin32

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages