Um aplicativo Python para limpeza automática de e-mails via IMAP com interface interativa.
- ✅ Exclusão por data específica - Remove e-mails de uma data determinada (ex: 25/12/2023)
- ✅ Exclusão por período - Remove e-mails entre duas datas específicas
- ✅ Exclusão por antiguidade - Remove e-mails anteriores a uma data específica
- ✅ Exclusão por novidade - Remove e-mails posteriores a uma data específica
- ✅ Exclusão por mês/ano - Remove e-mails de um mês específico em um ano
- ✅ Exclusão por ano específico - Remove e-mails de um ano determinado
- ✅ Exclusão completa - Remove todos os e-mails da caixa de entrada
- ✅ Interface de usuário - Menu amigável com opções
- ✅ Suporte a múltiplos provedores - Gmail, Outlook, Yahoo e outros
- ✅ Progresso em tempo real - Acompanhe o processo de exclusão
- ✅ Confirmação de segurança - Evita exclusões acidentais
- ✅ Estrutura modular - Código modular e organizado
git clone https://github.com/lucasrodriguescunha/clear-email.git
cd clear-emailpip install -r requirements.txtCrie um arquivo .env na raiz do projeto:
EMAIL=[email protected]
PASSWORD=sua-senha-de-app- Habilite a verificação em duas etapas
- Gere uma senha de app específica
- Use a senha de app no arquivo
.env
| Provedor | Servidor IMAP |
|---|---|
| Gmail | imap.gmail.com |
| Outlook/Hotmail | outlook.office365.com |
| Yahoo | imap.mail.yahoo.com |
| AOL | imap.aol.com |
python main.pyO que você deseja fazer?
[1] - Apagar e-mails de uma data específica
[2] - Apagar e-mails entre duas datas
[3] - Apagar e-mails anteriores a uma data
[4] - Apagar e-mails posteriores a uma data
[5] - Apagar e-mails de um mês/ano específico
[6] - Apagar e-mails de um ano específico
[7] - Apagar todos os e-mails
[0] - Sair
- Execute o programa
- Escolha a opção desejada
- Para opção 1: Digite a data no formato DD/MM/AAAA (ex: 25/12/2023)
- Para opção 2: Digite a data inicial e final no formato DD/MM/AAAA
- Para opção 3: Digite a data limite no formato DD/MM/AAAA (serão excluídos e-mails anteriores)
- Para opção 4: Digite a data limite no formato DD/MM/AAAA (serão excluídos e-mails posteriores)
- Para opção 5: Digite o mês (1-12) e o ano
- Para opção 6: Digite o ano (ex: 2020)
- Para opção 7: Digite "SIM" para confirmar
- Acompanhe o progresso da exclusão
clear-email/
├── main.py # Arquivo principal com estrutura modular
├── requirements.txt # Dependências
├── .env # Variáveis de ambiente (não versionado)
├── README.md # Este arquivo
├── LICENSE # Licença MIT
└── src/
├── config.py # Configurações e variáveis de ambiente
├── imap_connection.py # Conexões IMAP
├── email_operations.py # Operações com e-mails
└── user_interface.py # Interface do usuário
Arquivo principal com estrutura modular:
initialize_connection()- Gerencia a conexão IMAPhandle_single_date_operation()- Processa operações com uma única datahandle_date_range_operation()- Processa operações com intervalo de datashandle_month_year_operation()- Processa operações com mês/anohandle_all_emails_operation()- Gerencia exclusão totalprocess_user_choice()- Gerencia as escolhas do usuário- Tratamento de erros e exceções
- Sistema de logout seguro
Gerencia configurações e variáveis de ambiente:
- Validação de credenciais
- Configuração padrão do servidor IMAP
- Classe
Configpara organizar settings
Funções para conexão IMAP:
connect_imap()- Conecta ao servidorlogin_imap()- Autentica usuáriologout_imap()- Desconecta do servidor
Funções para manipulação de e-mails:
fetch_emails_by_criteria()- Sistema unificado de busca por critériosconvert_date()- Conversão padronizada de datasfetch_and_process_emails()- Processamento unificado de e-mails- Funções específicas para cada tipo de operação
- Sistema robusto de tratamento de erros
- Constantes para mensagens e formatos
Interface do usuário:
get_user_choice()- Menu de opçõesget_year_from_user()- Solicita ano- Funções de exibição de mensagens
- Backup seus e-mails antes de usar o programa
- Exclusões são permanentes - não podem ser desfeitas
- Use senhas de app específicas, não sua senha principal
- Teste primeiro com uma conta secundária
- Nunca compartilhe seu arquivo
.env - Use senhas de app específicas
- Mantenha suas credenciais seguras
- O arquivo
.envestá no.gitignore
- ✨ Estrutura mais modular e organizada
- 🛡️ Tratamento robusto de erros
- 🔄 Sistema unificado de processamento
- 📅 Manipulação padronizada de datas
- 🎮 Interface de usuário mais intuitiva
- 🚀 Código mais eficiente e manutenível
- 🔍 Melhor rastreamento de operações
- 🛑 Sistema seguro de logout
- Verifique se a verificação em duas etapas está habilitada
- Confirme se está usando a senha de app correta
- Teste as credenciais em um cliente de email
- Verifique sua conexão com a internet
- Confirme o servidor IMAP correto
- Teste com diferentes provedores
- Verifique se o ano está correto
- Confirme se há e-mails na caixa de entrada
- Teste com diferentes filtros
Conectando ao servidor IMAP: imap.gmail.com
Login realizado com sucesso!
O que você deseja fazer?
[1] - Apagar e-mails de uma data específica
[2] - Apagar e-mails entre duas datas
[3] - Apagar e-mails anteriores a uma data
[4] - Apagar e-mails posteriores a uma data
[5] - Apagar e-mails de um mês/ano específico
[6] - Apagar e-mails de um ano específico
[7] - Apagar todos os e-mails
[0] - Sair
Digite sua escolha (0, 1, 2, 3 ou 4): 1
Digite a data no formato DD/MM/AAAA (ex: 25/12/2023): 25/12/2023
100 de 1250 e-mails marcados para exclusão...
200 de 1250 e-mails marcados para exclusão...
...
1250 de 1250 e-mails marcados para exclusão...
Todos os e-mails foram apagados com sucesso!
Logout realizado com sucesso.
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Se você encontrar problemas ou tiver dúvidas:
- Abra uma issue
- Descreva detalhadamente o problema encontrado
⚡ Desenvolvido com Python | 📧 Para limpeza eficiente de e-mails | 🔒 Seguro e confiável