Wie funktioniert E-Mail-Threading?
E-Mail-Threading basiert auf drei RFC-Headern:| Header | Zweck | Beispiel |
|---|---|---|
Message-ID | Eindeutige ID jeder Mail | <abc123@ionos.de> |
In-Reply-To | Message-ID der Mail, auf die geantwortet wird | <abc123@ionos.de> |
References | Gesamte Kette aller Message-IDs im Thread | <abc123@ionos.de> <def456@ionos.de> |
Thread-Zuordnung im Sync-Worker
Beim Verarbeiten einer neuen Mail:- Thread-Key bestimmen: Erstes Element aus
References, oder eigeneMessage-IDals Fallback - Bestehenden Thread suchen über
thread_keyinemail_threads - Fallback: Wenn nicht gefunden und
In-Reply-Tovorhanden, Parent-Mail suchen und deren Thread verwenden - Neuen Thread anlegen wenn kein bestehender gefunden wurde
Thread-Zuordnung beim Senden
Wenn ein Mitarbeiter über die API antwortet:in_reply_towird als Message-ID der Ursprungsmail übergeben- API baut die
References-Kette auf (alle bisherigen + Parent) - Setzt
In-Reply-ToundReferencesHeader in der SMTP-Mail - Empfänger sieht die Antwort als Teil des bestehenden Threads
Betreff-Bereinigung
Thread-Subjects werden automatisch bereinigt:Re:, AW:, Fwd:, WG:, Aw:, Wg:
Bekannte Einschränkungen
- Wenn ein Kunde den Betreff ändert und keine
In-Reply-To/References-Header setzt, wird ein neuer Thread erstellt - Manche Webmail-Clients (besonders ältere) setzen keine sauberen References-Header
- Es gibt keine Betreff-basierte Fuzzy-Matching-Logik — Threading basiert ausschließlich auf Message-IDs