Started creating pop email client with database

This commit is contained in:
Dennis Eckerskorn 2025-01-13 17:07:08 +01:00
parent c1372d3d96
commit 128ab84429
6 changed files with 50 additions and 3 deletions

View File

@ -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

View File

@ -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}")

View File

@ -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",