#!/usr/bin/env python3 """ Test-Script: Mail abrufen und Link extrahieren. Verwendung: python test_extract_link.py eg5gyqjqp5@web-library.net TOKEN_HIER oder: Token aus app.py Step 1 Tabelle kopieren """ import sys import json from mailtm import list_messages, get_message_html from core import extract_form_link def test_extract(email, token): print(f"📧 Abrufen von Mails fuer: {email}") print(f"🔑 Token: {token[:20]}...") print() try: msgs = list_messages(token) print(f"📬 Mails gefunden: {len(msgs)}\n") if not msgs: print("❌ Keine Mails im Postfach!") return for i, m in enumerate(msgs, 1): msg_id = m.get("id", "?") sender = m.get("from", {}) if isinstance(sender, dict): sender = sender.get("address", "?") print(f"--- Mail {i} ---") print(f"Von: {sender}") print(f"Betreff: {m.get('subject', '(kein Betreff)')}") print(f"ID: {msg_id}") html = get_message_html(token, msg_id) link = extract_form_link(html) if link: print(f"✅ LINK GEFUNDEN:") print(f" {link}") else: print(f"❌ Kein Link extrahierbar") # Debug: erste 500 Zeichen zeigen preview = html[:500].replace("\n", " ") print(f" Preview: {preview}...") print() except Exception as e: print(f"❌ Fehler: {e}") import traceback traceback.print_exc() if __name__ == "__main__": if len(sys.argv) < 3: print("Verwendung:") print(" python test_extract_link.py EMAIL TOKEN") print() print("Beispiel:") print(" python test_extract_link.py eg5gyqjqp5@web-library.net abc123xyz...") sys.exit(1) email = sys.argv[1] token = sys.argv[2] test_extract(email, token)