Proyecto1AVApsp/CORREO_README.md

156 lines
4.5 KiB
Markdown

# 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