diff --git a/src/services/__pycache__/email_client.cpython-312.pyc b/src/services/__pycache__/email_client.cpython-312.pyc deleted file mode 100644 index 9926095..0000000 Binary files a/src/services/__pycache__/email_client.cpython-312.pyc and /dev/null differ diff --git a/src/services/__pycache__/email_client_imap.cpython-312.pyc b/src/services/__pycache__/email_client_imap.cpython-312.pyc new file mode 100644 index 0000000..acbb235 Binary files /dev/null and b/src/services/__pycache__/email_client_imap.cpython-312.pyc differ diff --git a/src/services/email_client.py b/src/services/email_client_imap.py similarity index 99% rename from src/services/email_client.py rename to src/services/email_client_imap.py index b657cea..67c0897 100644 --- a/src/services/email_client.py +++ b/src/services/email_client_imap.py @@ -5,7 +5,7 @@ from email.mime.multipart import MIMEMultipart from email import message_from_bytes from email.header import decode_header -class EmailClient: +class EmailClientImap: def __init__(self, imap_server, smtp_server, email, password, imap_port=143, smtp_port=25): self.imap_server = imap_server self.smtp_server = smtp_server diff --git a/src/services/email_client_pop.py b/src/services/email_client_pop.py new file mode 100644 index 0000000..5c6ce9d --- /dev/null +++ b/src/services/email_client_pop.py @@ -0,0 +1,47 @@ +import os +import poplib +import smtplib +import email +from email.header import decode_header +from email.mime.text import MIMEText +from email.mime.multipart import MIMEMultipart +import sqlite3 +from datetime import datetime + +class EmailClientPOP: + def __init__(self, pop_server, smtp_server, email, password, pop_port = 110, smtp_port=25): + self.pop_server = pop_server + self.smtp = smtp_server + self.email = email + self.password = password + self.pop_port = pop_port + self.smtp_port = smtp_port + self.pop_conn = None + self.smtp_conn = None + + #Ruta del archivo SQLite: + self.db_file = os.path.join("resources/db_email", "emails.db") + self.init_database() + + def init_database(self): + db_folder = os.path.dirname(self.db_file) + if not os.path.exists(db_folder): + os.makedirs(db_folder, exist_ok=True) + print(f"Carpeta creada: {db_folder}") + try: + conn = sqlite3.connect(self.db_file) + cursor = conn.cursor() + cursor.execute(""" + CREATE TABLE IF NOT EXISTS emails ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + sender TEXT NOT NULL, + subject TEXT, + body TEXT, + received_at DATETIME + ) + """) + conn.commit() + conn.close() + print(f"Base de datos inicializada: {self.db_file}") + except sqlite3.Error as e: + print(f"Error al inicializar la base de datos: {e}") \ No newline at end of file diff --git a/src/ui/__pycache__/centered_window.cpython-312.pyc b/src/ui/__pycache__/centered_window.cpython-312.pyc index c51fc63..30dbfa1 100644 Binary files a/src/ui/__pycache__/centered_window.cpython-312.pyc and b/src/ui/__pycache__/centered_window.cpython-312.pyc differ diff --git a/src/ui/centered_window.py b/src/ui/centered_window.py index 8d3a646..b893300 100644 --- a/src/ui/centered_window.py +++ b/src/ui/centered_window.py @@ -6,7 +6,7 @@ from src.services.processes_manager import ProcessManager from src.services.system_monitor import SystemMonitor from src.services.tetris_game import TetrisGame from src.services.threads_manager import ThreadsManager -from src.services.email_client import EmailClient +from src.services.email_client_imap import EmailClientImap class CenteredWindow(ctk.CTk): @@ -17,7 +17,7 @@ class CenteredWindow(ctk.CTk): self.after_tasks = [] #Configurar Email Client - self.email_client = EmailClient( + self.email_client = EmailClientImap( imap_server="192.168.120.103", smtp_server="192.168.120.103", email="dennis@psp.ieslamar.org",