# Cliente de Correo Electrónico - Proyecto1AVApsp ## Descripción Se ha implementado un cliente de correo electrónico completo en la pestaña "Correos" de la aplicación. Este cliente permite conectarse a tu servidor Webmin para leer y enviar correos electrónicos. ## Características - **Conexión IMAP**: Lee correos desde tu servidor (Puerto 143) - **Conexión SMTP**: Envía correos nuevos (Puerto 25) - **Interfaz tipo Outlook**: Panel dividido con lista de correos y visor - **Redacción de correos**: Ventana dedicada para componer nuevos mensajes ## Configuración del Servidor Webmin ### Datos de conexión predeterminados: - **Servidor IMAP**: `10.10.0.101` - **Puerto IMAP**: `143` - **Servidor SMTP**: `10.10.0.101` - **Puerto SMTP**: `25` ### Puertos configurados en Webmin: - SMTP (envío de correo): 25 - IMAP (consulta de correo): 143 - POP (descarga de correo): 110 (no usado en esta implementación) - Interfaz web Webmin: http://10.10.0.101:20000 ## Cómo usar el cliente de correo ### 1. Ejecutar la aplicación ```bash python3 app.py ``` ### 2. Ir a la pestaña "Correos" La pestaña está ubicada en el panel central de la aplicación. ### 3. Configurar la conexión En el panel "Configuración del servidor": - **Servidor IMAP**: Ya está configurado como `10.10.0.101` - **Puerto IMAP**: Ya está configurado como `143` - **Servidor SMTP**: Ya está configurado como `10.10.0.101` - **Puerto SMTP**: Ya está configurado como `25` - **Usuario**: Introduce tu nombre de usuario del servidor de correo - **Contraseña**: Introduce tu contraseña ### 4. Conectar al servidor Haz clic en el botón **"Conectar"**. Si la conexión es exitosa: - El estado cambiará a "Conectado" en verde - Se cargarán automáticamente los correos de la bandeja de entrada ### 5. Leer correos - Los correos aparecen en la lista de la izquierda - Haz clic en un correo para ver su contenido completo - Se muestran: - Remitente (De) - Asunto - Fecha - Cuerpo del mensaje ### 6. Actualizar la lista de correos Haz clic en el botón **"Actualizar"** para recargar la lista de correos desde el servidor. ### 7. Enviar un nuevo correo 1. Haz clic en el botón **"Nuevo correo"** 2. Se abrirá una ventana de composición 3. Completa los campos: - **Para**: Dirección del destinatario - **Asunto**: Título del correo - **Mensaje**: Contenido del correo 4. Haz clic en **"Enviar"** ### 8. Desconectar Cuando termines, haz clic en **"Desconectar"** para cerrar la conexión con el servidor. ## Notas técnicas ### Bibliotecas utilizadas El cliente utiliza las bibliotecas estándar de Python: - `imaplib`: Para leer correos (protocolo IMAP) - `smtplib`: Para enviar correos (protocolo SMTP) - `email`: Para parsear y crear mensajes de correo ### Limitaciones actuales 1. **Seguridad**: - La conexión IMAP es sin cifrado (puerto 143 en lugar de 993 IMAPS) - La conexión SMTP es sin cifrado (puerto 25 en lugar de 465/587 SMTPS) - Para producción, se recomienda usar conexiones cifradas 2. **Funcionalidades**: - Solo se muestran los últimos 50 correos - No hay soporte para adjuntos aún - Solo se muestra la bandeja de entrada (INBOX) - Los correos HTML se muestran como texto crudo 3. **Autenticación SMTP**: - El código actual no utiliza autenticación para SMTP - Si tu servidor Webmin requiere autenticación, necesitarás descomentar estas líneas en el código: ```python # server.starttls() # server.login(username, password) ``` ## Solución de problemas ### Error: "No se pudo conectar al servidor" 1. Verifica que el servidor Webmin esté en ejecución 2. Comprueba que puedes hacer ping a `10.10.0.101` 3. Verifica que los puertos 143 y 25 estén abiertos: ```bash telnet 10.10.0.101 143 telnet 10.10.0.101 25 ``` ### Error: "Login failed" - Verifica que el usuario y contraseña sean correctos - Comprueba que la cuenta de correo esté configurada en Webmin ### No se cargan los correos - Haz clic en "Actualizar" para recargar - Verifica la configuración de la bandeja INBOX en el servidor - Revisa el panel de notas para ver mensajes de error ## Mejoras futuras - [ ] Soporte para conexiones cifradas (IMAPS/SMTPS) - [ ] Gestión de adjuntos - [ ] Múltiples carpetas/bandejas - [ ] Búsqueda de correos - [ ] Marcado como leído/no leído - [ ] Eliminación de correos - [ ] Responder y reenviar correos - [ ] Vista HTML mejorada - [ ] Configuración persistente ## Contacto Para más información sobre la configuración del servidor Webmin, consulta: - Interfaz web Webmin: http://10.10.0.101:20000