Este é um projeto em Python que usa a biblioteca imaplib
para consultar uma conta de email e notificar sobre novas mensagens por meio da biblioteca win10toast
. O código faz uma busca por emails recebidos em um ano específico e filtra as mensagens por palavras-chave no assunto.
Ao encontrar uma nova mensagem que contém uma das palavras-chave, o código imprime informações relevantes na tela e envia uma notificação para o desktop.
Antes de executar o código, é necessário configurar algumas informações da conta de email a ser consultada no arquivo config.py
. As informações necessárias são:
SERVER
: o servidor IMAP usado pela conta de email;PORT
: a porta do servidor IMAP;USERNAME
: o nome de usuário da conta de email;PASSWORD
: a senha da conta de email.
Certifique-se de que essas informações estejam corretas antes de executar o código.
As informações de configuração também podem ser fornecidas por meio de um arquivo JSON externo. O arquivo JSON deve ter a seguinte estrutura:
jsonCopy{ "SERVER": "imap.gmail.com", "PORT": 993, "USERNAME": "seu_email@gmail.com", "PASSWORD": "sua_senha" }
O nome do arquivo JSON deve ser especificado na variável enviro
no arquivo main.py
. Caso contrário, o código usará as informações de configuração no arquivo config.py
.
Além disso, é necessário instalar as bibliotecas imaplib
e win10toast
. Isso pode ser feito com o comando pip install imaplib win10toast
.
Para usar o código, execute o arquivo main.py
. O código fará a busca por novas mensagens e exibirá as informações relevantes na tela e notificará o desktop para cada mensagem encontrada. Certifique-se de que o desktop está configurado para receber notificações do sistema operacional.
O código pode ser facilmente adaptado para usar outras palavras-chave e configurações de busca diferentes, basta modificar o arquivo config.py
e o código em main.py
.
Sinta-se à vontade para contribuir com o projeto, fazendo sugestões, relatórios de bugs ou enviando pull requests.
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE.md para detalhes.