Skip to main content

Funktionsweise

Der Worker verbindet sich alle 2 Minuten per IMAP mit dem IONOS-Postfach und prüft zwei Ordner auf neue Nachrichten:

Sync-Ablauf pro Ordner

  1. Sync-State laden aus email_sync_state (letzte bekannte UID)
  2. UID-Validity prüfen — wenn geändert, ist ein vollständiger Resync nötig
  3. Neue Mails abrufen (nur UIDs größer als last_uid)
  4. Archivierungs-Check — UIDs die im Postfach fehlen werden als is_archived markiert
  5. Pro Mail:
    • MIME-Parsing (Header, Body, Anhänge)
    • Duplikat-Check über message_id
    • Thread zuordnen oder erstellen
    • Kunden-Matching über E-Mail-Adresse
    • In emails-Tabelle speichern
    • Anhänge in Supabase Storage hochladen
  6. Sync-State aktualisieren (neue last_uid)

Konfiguration

Alle Werte werden über die .env gesteuert:

Sync-Intervall ändern

In src/sync/worker.js, Zeile:
Nach Änderung: pm2 restart imap-sync

Fehlerbehandlung

  • Einzelne Mails die nicht geparst werden können, werden übersprungen — der Rest läuft weiter
  • Bei IMAP-Verbindungsfehlern wartet der Worker bis zum nächsten Intervall
  • Fehler werden im email_sync_state als error_message gespeichert
  • Alle Fehler werden in PM2-Logs geschrieben

Logs prüfen