69 lines
2.5 KiB
Python
69 lines
2.5 KiB
Python
# emailTab.py
|
|
import tkinter as tk
|
|
from tkinter import ttk
|
|
from app.emailClient import EmailClient
|
|
|
|
class EmailTab:
|
|
def __init__(self, notebook):
|
|
self.email_client = EmailClient()
|
|
self.tab = ttk.Frame(notebook)
|
|
notebook.add(self.tab, text="Correo")
|
|
self.setup_ui()
|
|
|
|
def setup_ui(self):
|
|
# Campos de entrada para credenciales
|
|
tk.Label(self.tab, text="Correo electrónico:").grid(row=0, column=0, sticky="e", padx=5, pady=5)
|
|
self.entry_email = tk.Entry(self.tab)
|
|
self.entry_email.grid(row=0, column=1, padx=5, pady=5)
|
|
|
|
tk.Label(self.tab, text="Contraseña:").grid(row=1, column=0, sticky="e", padx=5, pady=5)
|
|
self.entry_password = tk.Entry(self.tab, show="*")
|
|
self.entry_password.grid(row=1, column=1, padx=5, pady=5)
|
|
|
|
# Campos de entrada para enviar correo
|
|
tk.Label(self.tab, text="Destinatario:").grid(row=2, column=0, sticky="e", padx=5, pady=5)
|
|
self.entry_destinatario = tk.Entry(self.tab)
|
|
self.entry_destinatario.grid(row=2, column=1, padx=5, pady=5)
|
|
|
|
tk.Label(self.tab, text="Asunto:").grid(row=3, column=0, sticky="e", padx=5, pady=5)
|
|
self.entry_asunto = tk.Entry(self.tab)
|
|
self.entry_asunto.grid(row=3, column=1, padx=5, pady=5)
|
|
|
|
tk.Label(self.tab, text="Mensaje:").grid(row=4, column=0, sticky="ne", padx=5, pady=5)
|
|
self.text_mensaje = tk.Text(self.tab, height=5, width=40)
|
|
self.text_mensaje.grid(row=4, column=1, padx=5, pady=5)
|
|
|
|
# Botón para enviar correo
|
|
tk.Button(
|
|
self.tab,
|
|
text="Enviar Correo",
|
|
command=self.enviar_correo
|
|
).grid(row=5, column=1, pady=10)
|
|
|
|
# Área de texto para mostrar correos recibidos
|
|
self.text_correos = tk.Text(self.tab, height=10, width=60)
|
|
self.text_correos.grid(row=6, column=0, columnspan=2, padx=5, pady=5)
|
|
|
|
# Botón para recibir correos
|
|
tk.Button(
|
|
self.tab,
|
|
text="Recibir Correos",
|
|
command=self.recibir_correos
|
|
).grid(row=7, column=1, pady=10)
|
|
|
|
def enviar_correo(self):
|
|
self.email_client.enviar_correo(
|
|
self.entry_email.get(),
|
|
self.entry_password.get(),
|
|
self.entry_destinatario.get(),
|
|
self.entry_asunto.get(),
|
|
self.text_mensaje.get("1.0", tk.END).strip()
|
|
)
|
|
|
|
def recibir_correos(self):
|
|
self.email_client.recibir_correos(
|
|
self.entry_email.get(),
|
|
self.entry_password.get(),
|
|
self.text_correos
|
|
)
|