Realizado

Finalização de Servidor Smtp/Imap/Pop3 em Python com Banco de Dados

Publicado em 21 de Abril de 2025 dias na TI e Programação

Sobre este projeto

Aberto

Estou desenvolvendo um servidor de e-mail próprio, escrito em Python puro, usando sockets e asyncio, com autenticação e persistência via banco de dados MySQL. Já tenho boa parte do sistema funcional, incluindo o servidor smtp com suporte a starttls e autenticação, e o servidor imap com suporte aos comandos principais.

O que preciso agora é finalizar o projeto, implementando o servidor POP3 e reestruturando o IMAP para garantir compatibilidade total com clientes como Outlook, Thunderbird, etc. Atualmente, o IMAP funciona parcialmente, mas alguns comandos ou respostas precisam ser ajustados para atender aos padrões esperados por esses clientes.

Tudo que for feito pelos clientes (como marcar e-mails como lido, deletar, mover, etc) precisa refletir corretamente no banco de dados. O código deve manter a arquitetura atual, sem frameworks, usando apenas sockets, asyncio e manipulação direta do protocolo.

Preciso de alguém que entenda bem os protocolos smtp, imap e pop3, que saiba trabalhar com sockets em python e tenha noção de como clientes de e-mail interagem com servidores reais.

O projeto já está rodando em ambiente Linux com certificados SSL (Let's Encrypt) funcionando.

Contexto Geral do Projeto

Estou desenvolvendo um servidor de e-mail completo em Python puro, utilizando asyncio e sockets, com autenticação e armazenamento de dados integrados a um banco de dados MySQL. A proposta é implementar os protocolos smtp, imap e pop3 do zero, sem o uso de bibliotecas prontas e sim trabalhar direto com o protocolo. O sistema já está parcialmente funcional: O smtp possui suporte a starttls, autenticação via banco e parsing básico de mensagens. O imap está parcialmente implementado, com suporte aos principais comandos (login, select, fetch, store, idle, etc), funcionando com alguns clientes de e-mail, mas ainda precisa de ajustes para garantir compatibilidade total com outlook, thunderbird e similares. Agora, o projeto precisa ser finalizado com: Implementação do servidor POP3 com suporte a comandos padrão e autenticação via MySQL. Reestruturação do IMAP para garantir funcionamento 100% compatível com todos os clientes. Sincronização completa entre ações do cliente e banco de dados (ex: marcar como lido, mover mensagens, apagar, renomear ou criar pastas, etc). Garantia de que todas as ações feitas via cliente de e-mail se reflitam corretamente nas tabelas do banco (usuarios, emails, pastas, etc). O servidor está em ambiente Linux e já conta com certificados SSL válidos (Let's Encrypt) configurados. Todo o projeto utiliza apenas sockets assíncronos com asyncio e manipulação direta dos protocolos smtp, imap e pop3.

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: 30 de Abril de 2025

Habilidades necessárias