Added links to functionality and explanatory videos. |
||
|---|---|---|
| INSTALACION.md | ||
| README.md | ||
| cliente_correo.py | ||
| ejecutar.sh | ||
README.md
Cliente de Correo Electrónico (Python + Tkinter)
VIDEO FUNCIONALIDAD https://youtu.be/OMbzm-YJ1Zg
VIDEO EXPLICATIVO CÓDIGO https://youtu.be/KUiz4sP8UDw
Este proyecto implementa un cliente de correo electrónico completo con interfaz gráfica (GUI) desarrollado en Python utilizando Tkinter. La aplicación soporta los tres protocolos fundamentales de correo electrónico: SMTP (envío), IMAP (gestión remota) y POP3 (descarga local).
🚀 Características Principales
- Interfaz Gráfica Intuitiva: Diseño basado en pestañas para separar funcionalidades (Login, Enviar, Bandeja, Descargas).
- Soporte Multi-Protocolo:
- SMTP (Puerto 25): Envío de correos electrónicos con soporte para múltiples destinatarios.
- IMAP (Puerto 143): Visualización y gestión de la bandeja de entrada en tiempo real.
- POP3 (Puerto 110): Descarga de mensajes desde el servidor al cliente local.
- Gestión de Adjuntos:
- Envío de archivos adjuntos de cualquier tipo.
- Visualización y descarga de adjuntos recibidos.
- Previsualización integrada para imágenes y archivos de texto sin necesidad de guardarlos.
- Menú contextual (clic derecho) para guardar adjuntos individuales o en lote.
- Lectura de Correos: Decodificación automática de cabeceras y cuerpos de mensaje (HTML/Texto plano).
📋 Requisitos Previos
- Python 3.11 o superior (Recomendado 3.12).
- Librerías estándar de Python (incluidas por defecto):
tkinter(Interfaz gráfica)smtplib,imaplib,poplib(Protocolos de red)email(Manejo de formato MIME)
- Librería externa para imágenes:
Pillow(PIL)
Instalación de dependencias
pip install pillow
🔧 Instalación y Ejecución
1. Clonar o descargar el proyecto
Asegúrate de tener todos los archivos en una misma carpeta:
cliente_correo.pyejecutar.shINSTALACION.md
2. Configuración del Servidor
Por defecto, el cliente está configurado para un servidor local. Puedes modificar la IP en el archivo cliente_correo.py o ingresarla en la interfaz de login.
- IP por defecto:
10.10.0.101 - Credenciales predefinidas:
levi@psp.es/1234
3. Ejecutar la aplicación
En macOS / Linux (Recomendado): Utiliza el script incluido que busca automáticamente la versión correcta de Python:
chmod +x ejecutar.sh
./ejecutar.sh
Método estándar (Cualquier SO):
python3 cliente_correo.py
Nota para usuarios de macOS: Si encuentras problemas con la versión de Tkinter, consulta el archivo INSTALACION.md para una guía detallada de solución.
📂 Estructura del Proyecto
.
├── cliente_correo.py # Código fuente principal de la aplicación
├── ejecutar.sh # Script lanzador para macOS/Linux (verifica versión Python)
├── INSTALACION.md # Guía específica para solucionar errores de entorno en Mac
└── README.md # Este archivo
⚙️ Funcionamiento Interno
El cliente utiliza las siguientes librerías para la comunicación de red:
smtplib: Se conecta al puerto 25 para enviar mensajes construidos conMIMEMultipart.imaplib: Se conecta al puerto 143, permite listar correos (search), obtener cabeceras (fetch) y leer contenido bajo demanda.poplib: Se conecta al puerto 110, permitiendo obtener el número total de mensajes y descargarlos secuencialmente.
🛠️ Solución de Problemas Comunes
- Error de conexión: Verifica que la IP del servidor sea alcanzable y que los servicios de correo (Postfix/Dovecot/Mercury) estén corriendo en los puertos estándar (25, 110, 143).
- Error de Tkinter en Mac: Ejecuta
./ejecutar.sho revisaINSTALACION.md.