📝 Descripción del Proyecto
Este proyecto tiene como objetivo implementar un gestor de correos básico utilizando el protocolo POP3 de Python. Se desarrollará una aplicación que permita conectarse a servidores de correo, descargar mensajes y realizar operaciones básicas de gestión.
- Implementar funcionalidades de red usando la librería
poplib
de Python - Trabajar con metodologías de desarrollo colaborativo (Git/GitHub)
- Aplicar principios de modularidad en Python
mail-controller/
├── src/
│ └── mail/
│ ├── mail.py # Lógica principal y entrada
│
├── /tests/
│ ├── test.py
├── pyproject.toml # Configuración del paquete
├── README.md # Este archivo
└── .gitignore # Archivos a ignorar
- Conexión POP3: Establecer conexión segura con servidor de correo
- Autenticación: Login con usuario y contraseña
- Listar mensajes: Mostrar lista de correos en el servidor
- Descargar mensaje: Obtener el contenido de un email específico
- Mostrar inbox: Visualizar bandeja de entrada por consola
- Cerrar conexión: Terminar sesión de forma segura
git clone https://github.com/ACMUD/mail-controller
cd mail-controller
# Crear entorno virtual
python -m venv venv
# Activar entorno virtual
# En Windows:
venv\Scripts\activate
# En Linux/Mac:
source venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt
-
Crear una rama para cada nueva funcionalidad:
git checkout -b feature/nombre-funcionalidad
-
Realizar commits pequeños y descriptivos:
git add . git commit -m \"feat: implementar conexión POP3 básica\"
-
Subir la rama al repositorio remoto:
git push origin feature/nombre-funcionalidad
-
Crear Pull Request en GitHub para revisión
Seguimos el estándar de Conventional Commits:
feat:
nueva funcionalidadfix:
corrección de erroresdocs:
cambios en documentacióntest:
agregar o modificar testsrefactor:
refactorización de código
Ejemplos:
feat: agregar método para descargar mensajes
fix: corregir error de conexión SSL
docs: actualizar README con ejemplos
test: agregar tests para clase Message
main
: rama principal (código estable)develop
: rama de desarrollo (integración)feature/
: ramas para nuevas funcionalidades
Cada PR debe incluir:
- Descripción clara de los cambios realizados
- Documentación actualizada si es necesario
- Revisión de al menos un compañero
## Descripción
Breve descripción de los cambios realizados.
## Tipo de cambio
- [ ] Nueva funcionalidad
- [ ] Corrección de error
- [ ] Refactorización
- [ ] Actualización de documentación
## Checklist
- [ ] Mi código sigue el estilo del proyecto
- [ ] He realizado una auto-revisión
- [ ] He comentado el código en áreas complejas
- [ ] Mis cambios no generan nuevas advertencias
- Leer el código existente antes de empezar
- Mantener tus PRs pequeños y enfocados
- Documentar funciones complejas
- Pedir ayuda si hay complicaciones
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
¡Happy coding! 🐍📧