Proyecto1AVApsp/CORREO_README.md

4.5 KiB

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

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:
    # 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:
    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: