Skip to main content

Zwei Prozesse, ein Postfach

Das E-Mail-System besteht aus zwei unabhängigen Prozessen, die beide über PM2 auf dem VPS laufen:
ProzessPM2-NameDateiAufgabe
IMAP Sync Workerimap-syncsrc/sync/worker.jsHolt neue Mails aus dem Postfach
SMTP APIsmtp-apisrc/api/server.jsSendet Mails auf Anfrage
Beide Prozesse verwenden dasselbe dedizierte Postfach: team@events-52grad.de

Warum zwei getrennte Systeme für Transaktionsmails und persönliche Mails?

TransaktionsmailsPersönliche Mails
BeispielAnfragebestätigung, StatusänderungAntwort auf Kundenanfrage
Versand überResend (via Supabase Edge Functions)SMTP über IONOS
Absenderno-reply oder system@team@events-52grad.de
Im Postfach sichtbar?NeinJa (Gesendet-Ordner)
Antwort möglich?Nein (no-reply)Ja

Kunden-Matching

Bei jeder eingehenden Mail prüft der Worker, ob die Absender-Adresse einem bestehenden Kunden in der customers-Tabelle zugeordnet werden kann (Feld: email). Bei ausgehenden Mails wird der Empfänger gematcht. Wenn ein Match gefunden wird, werden customer_id und company_id automatisch in der Mail gespeichert. Das ermöglicht in WeWeb die Anzeige aller Mails pro Kunde.

Soft-Delete / Archivierung

Wenn eine E-Mail im IONOS-Webmail gelöscht wird, erkennt der Sync-Worker das beim nächsten Zyklus und setzt is_archived = true. Die Mail wird nicht aus Supabase gelöscht — sie ist nur in der Standardansicht ausgeblendet.