- FastAPI Backend mit Router (emails, invoices, auth) - PostgreSQL DB Models (Invoice, EmailLog, InvoiceDetail, User) - PyMuPDF PDF-Verarbeitung mit Steuer-Erkennung - openpyxl Excel-Export - Alembic Migration initialisiert - IMAP-Verbindung zu Strato funktioniert - Docker-Setup mit Traefik-Labels Co-Authored-By: Claude <noreply@anthropic.com>
47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
"""IMAP-Verbindungs-Test"""
|
|
import imaplib
|
|
import os
|
|
import email
|
|
|
|
IMAP_HOST = os.getenv("IMAP_HOST", "imap.strato.de")
|
|
IMAP_PORT = int(os.getenv("IMAP_PORT", 993))
|
|
IMAP_USER = os.getenv("IMAP_USER", "info@c-stone-dev.com")
|
|
IMAP_PASSWORD = os.getenv("IMAP_PASSWORD", "hH22761,018!")
|
|
|
|
print(f"Teste IMAP-Verbindung zu {IMAP_HOST}:{IMAP_PORT}")
|
|
print(f"Benutzer: {IMAP_USER}")
|
|
|
|
try:
|
|
mail = imaplib.IMAP4_SSL(IMAP_HOST, IMAP_PORT)
|
|
result, data = mail.login(IMAP_USER, IMAP_PASSWORD)
|
|
print(f"Login erfolgreich: {result}")
|
|
|
|
result, folders = mail.list()
|
|
print(f"Ordner:")
|
|
for folder in folders[:10]: # Erste 10 Ordner
|
|
print(f" {folder.decode()}")
|
|
|
|
# INBOX auswählen
|
|
result, data = mail.select("INBOX")
|
|
if result == "OK":
|
|
result, data = mail.search(None, 'ALL')
|
|
if result == "OK":
|
|
email_ids = data[0].split()
|
|
print(f"\nINBOX enthält {len(email_ids)} Emails")
|
|
|
|
# Letzte 5 Emails anzeigen
|
|
for email_id in email_ids[-5:]:
|
|
result, msg_data = mail.fetch(email_id, '(RFC822.HEADER)')
|
|
if result == "OK":
|
|
msg = email.message_from_bytes(msg_data[0][1])
|
|
subject = msg.get("Subject", "Kein Betreff")
|
|
from_addr = msg.get("From", "Unbekannt")
|
|
print(f" Email {email_id.decode()}: {from_addr} - {subject}")
|
|
|
|
mail.logout()
|
|
print("\n✅ IMAP-Verbindung erfolgreich!")
|
|
|
|
except imaplib.IMAP4.error as e:
|
|
print(f"❌ IMAP-Fehler: {e}")
|
|
except Exception as e:
|
|
print(f"❌ Fehler: {e}")
|