FinalProjectAndresGMoran/app/emailTab.py

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
)