GestorCorreo/controlador.py

38 lines
1.5 KiB
Python

from modelo import CorreoModelo
from tkinter import messagebox
import threading
class CorreoControlador:
def __init__(self):
self.modelo = CorreoModelo()
def descargar_correos(self):
self.vista.actualizar_footer("📥 Descargando correos...")
hilo = threading.Thread(target=self._descargar_correos)
hilo.start()
def _descargar_correos(self):
resultado = self.modelo.descargar_correos()
if resultado is True:
messagebox.showinfo("Éxito", "Correos descargados correctamente")
else:
messagebox.showerror("Error", f"Error al descargar correos: {resultado}")
self.vista.actualizar_lista()
self.vista.actualizar_footer("Gestor de Correos - 2025")
def obtener_correos(self):
return self.modelo.obtener_correos()
def enviar_correo(self, destinatario, asunto, mensaje, archivos_adjuntos=[]):
hilo = threading.Thread(target=self._enviar_correo, args=(destinatario, asunto, mensaje, archivos_adjuntos))
hilo.start()
def _enviar_correo(self, destinatario, asunto, mensaje, archivos_adjuntos):
self.vista.actualizar_footer("📨 Enviando correo...")
resultado, mensaje_respuesta = CorreoModelo.enviar_correo(destinatario, asunto, mensaje, archivos_adjuntos)
if resultado:
messagebox.showinfo("Éxito", mensaje_respuesta)
else:
messagebox.showerror("Error", mensaje_respuesta)
self.vista.actualizar_footer("Gestor de Correos - 2025")