Started creating pop email client with database
This commit is contained in:
parent
c1372d3d96
commit
128ab84429
Binary file not shown.
Binary file not shown.
|
@ -5,7 +5,7 @@ from email.mime.multipart import MIMEMultipart
|
||||||
from email import message_from_bytes
|
from email import message_from_bytes
|
||||||
from email.header import decode_header
|
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):
|
def __init__(self, imap_server, smtp_server, email, password, imap_port=143, smtp_port=25):
|
||||||
self.imap_server = imap_server
|
self.imap_server = imap_server
|
||||||
self.smtp_server = smtp_server
|
self.smtp_server = smtp_server
|
|
@ -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}")
|
Binary file not shown.
|
@ -6,7 +6,7 @@ from src.services.processes_manager import ProcessManager
|
||||||
from src.services.system_monitor import SystemMonitor
|
from src.services.system_monitor import SystemMonitor
|
||||||
from src.services.tetris_game import TetrisGame
|
from src.services.tetris_game import TetrisGame
|
||||||
from src.services.threads_manager import ThreadsManager
|
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):
|
class CenteredWindow(ctk.CTk):
|
||||||
|
@ -17,7 +17,7 @@ class CenteredWindow(ctk.CTk):
|
||||||
self.after_tasks = []
|
self.after_tasks = []
|
||||||
|
|
||||||
#Configurar Email Client
|
#Configurar Email Client
|
||||||
self.email_client = EmailClient(
|
self.email_client = EmailClientImap(
|
||||||
imap_server="192.168.120.103",
|
imap_server="192.168.120.103",
|
||||||
smtp_server="192.168.120.103",
|
smtp_server="192.168.120.103",
|
||||||
email="dennis@psp.ieslamar.org",
|
email="dennis@psp.ieslamar.org",
|
||||||
|
|
Loading…
Reference in New Issue