49 lines
2.1 KiB
Python
49 lines
2.1 KiB
Python
import tkinter as tk
|
|
from tkinter import ttk, messagebox
|
|
import threading
|
|
|
|
class MailTab:
|
|
def __init__(self, parent, mail_client):
|
|
self.mail_client = mail_client
|
|
|
|
# Crear el frame de la pestaña
|
|
self.frame = ttk.Frame(parent)
|
|
parent.add(self.frame, text="Correo")
|
|
|
|
# Campos de entrada para enviar correo
|
|
ttk.Label(self.frame, text="Correo electrónico:").grid(row=0, column=0, sticky="e", padx=5, pady=5)
|
|
self.entry_email = ttk.Entry(self.frame, width=40)
|
|
self.entry_email.grid(row=0, column=1, padx=5, pady=5)
|
|
|
|
ttk.Label(self.frame, text="Contraseña:").grid(row=1, column=0, sticky="e", padx=5, pady=5)
|
|
self.entry_password = ttk.Entry(self.frame, show="*", width=40)
|
|
self.entry_password.grid(row=1, column=1, padx=5, pady=5)
|
|
|
|
ttk.Label(self.frame, text="Destinatario:").grid(row=2, column=0, sticky="e", padx=5, pady=5)
|
|
self.recipient_entry = ttk.Entry(self.frame, width=40)
|
|
self.recipient_entry.grid(row=2, column=1, padx=5, pady=5)
|
|
|
|
ttk.Label(self.frame, text="Asunto:").grid(row=3, column=0, sticky="e", padx=5, pady=5)
|
|
self.subject_entry = ttk.Entry(self.frame, width=40)
|
|
self.subject_entry.grid(row=3, column=1, padx=5, pady=5)
|
|
|
|
ttk.Label(self.frame, text="Mensaje:").grid(row=4, column=0, sticky="ne", padx=5, pady=5)
|
|
self.body_text = tk.Text(self.frame, width=50, height=10)
|
|
self.body_text.grid(row=4, column=1, padx=5, pady=5)
|
|
|
|
self.send_button = ttk.Button(self.frame, text="Enviar", command=self.send_email_thread)
|
|
self.send_button.grid(row=5, column=1, padx=5, pady=5, sticky="e")
|
|
|
|
def send_email_thread(self):
|
|
threading.Thread(target=self.send_email).start()
|
|
|
|
def send_email(self):
|
|
sender_email = self.entry_email.get()
|
|
sender_password = self.entry_password.get()
|
|
recipient = self.recipient_entry.get()
|
|
subject = self.subject_entry.get()
|
|
body = self.body_text.get("1.0", tk.END).strip()
|
|
|
|
result = self.mail_client.send_email(sender_email, sender_password, recipient, subject, body)
|
|
messagebox.showinfo("Resultado", result)
|