Aufbau eines E-Mail-Archivierungssystems: Die Herausforderungen und natürlich die Lösung – Teil 1
Jeff Goldstein
04.02.2019
1 min read

Wichtige Erkenntnisse
E-Mail-Archivierung wird zunehmend für Regulierungs-, Compliance- und Prüfungsumgebungen unverzichtbar.
SparkPost speichert keine E-Mail-Inhalte, aber seine Archive-Funktion ermöglicht es Absendern, Duplikate von Nachrichten zu erhalten, die Tracking-Links und Inhalte widerspiegeln.
E-Mail-Inhalte können in Amazon S3 gespeichert werden, während Metadaten zu Nachrichtenereignissen in MySQL zur Abfrage und Kreuzreferenzierung gespeichert werden können.
SparkPost-Nachrichtenereignisse bieten umfassende Aktivitätsprotokolle (Bounces, Zustellungen, Klicks, Öffnungen, Abmeldungen, Beschwerden und mehr).
Archivkopien werden nur erzeugt, wenn E-Mails über SMTP versendet werden.
Nachrichtenereignisse für Original-, Archiv-, CC- und BCC-E-Mails teilen eine gemeinsame transmission_id.
Der Inbound Email Relay kann archivierte Nachrichten aufnehmen, enthält jedoch nicht die transmission_id, was eine Herausforderung für die Datenverknüpfung darstellt.
Durch Einbetten einer versteckten eindeutigen Kennung (UID) im Nachrichtentext wird diese Lücke geschlossen und eingehende Inhalte werden mit ausgehenden Protokollen verknüpft.
Die Kombination aus archivierten E-Mails + Nachrichtenereignissen ermöglicht den Aufbau eines durchsuchbaren, überprüfbaren Archivsystems.
Das Langzeitprojekt umfasst Code-Veröffentlichungen zur Speicherung von Archiv-E-Mails in S3 und zur Protokollierung von Ereignisdaten in MySQL.
Die endgültige Anwendung ermöglicht einfaches Suchen, Anzeigen und Abgleichen von E-Mail-Inhalten mit der gesamten zugehörigen Ereignisgeschichte.
Ideal für regulierungslastige Branchen, die vollständige Transparenz über jede versendete Nachricht benötigen.
Q&A Highlights
Warum ein eigenes Email-Archivierungssystem erstellen?
Regulierte Branchen erfordern oft eine langfristige Speicherung sowohl des E-Mail-Körpers als auch aller zugehörigen Ereignisprotokolle. SparkPost speichert keine Nachrichteninhalte, daher sorgt der Aufbau eines benutzerdefinierten Systems für Compliance, Prüfung und Sichtbarkeit.
Wie erhalten Sie eine exakte Kopie der originalen gesendeten E-Mail?
Das Archive feature von SparkPost sendet eine Kopie jeder ausgehenden E-Mail an festgelegte Archivadressen und bewahrt dabei alle kodierten Links und Verhaltensweisen zur Nachverfolgung.
Warum können Sie den Körper der E-Mail nicht erfassen, bevor Sie ihn senden?
Das Erfassen vor dem Senden beinhaltet nicht die Änderungen von SparkPost (Open Tracking, Click Tracking, Link Encoding). Die Verwendung von Archivkopien stellt sicher, dass Ihre gespeicherte Version genau dem entspricht, was die Empfänger erhalten.
Archiviert SparkPost E-Mails automatisch?
Nein. SparkPost speichert keine Nachrichteninhalte. Archivkopien müssen angefordert werden, indem Archivadressen während der SMTP-Injektion spezifiziert werden.
Was wird wo in diesem Archiving System gespeichert?
Email body → Amazon S3
Message event logs → MySQL
Diese Trennung unterstützt schnelle Suche, strukturierte Abfragen und kostengünstige Objektspeicherung.
Wie lange behält SparkPost Ereignisdaten?
SparkPost speichert Nachrichtenereignisse für 10 Tage. Danach müssen die Daten über Webhook erfasst oder abgefragt und an einem anderen Ort gespeichert werden.
Welche Nachrichtenereignisse sind verfügbar?
SparkPost stellt derzeit 14 Ereignisse bereit, einschließlich Zustellungen, Bounces, Klicks, Öffnungen, Ablehnungen, Richtlinienprobleme, Spam-Beschwerden, Abmeldungen und mehr.
Welche Identifikatoren verbinden alle Events miteinander?
Alle ausgehenden Nachrichten (Original, Archiv, CC, BCC) teilen dieselbe transmission_id. Die Original- und Archiv-Email teilen auch dieselbe message_id.
Warum ist die Inbound-Verarbeitung eine Herausforderung?
Der Inbound Email Relay von SparkPost wandelt eingehende E-Mails in JSON um, aber dieses JSON enthält nicht transmission_id. Ohne zusätzliche Daten kann die eingehende Kopie nicht mit ihrer ausgehenden Protokollhistorie verknüpft werden.
Wie verbinden Sie eingehende Archiv-E-Mails mit ausgehenden Nachrichtenereignissen?
Fügen Sie eine versteckte unique identifier (UID) in den E-Mail-Text ein und übergeben Sie dieselbe UID in den Metadaten. Diese UID wird zur gemeinsamen Referenz für eingehende und ausgehende Datensätze.
Wie hilft Inbound Email Relay, das Archivieren zu automatisieren?
Es empfängt Archiv-E-Mails, die an Ihre Archivdomäne gesendet werden, analysiert sie in strukturiertes JSON und sendet sie über einen Webhook an Ihre Anwendung—ermöglicht die automatisierte Extraktion und Speicherung.
Was ist die langfristige Vision des Projekts?
Eine vollständige Anwendung, die:
Archivierte E-Mails in S3 speichert
Alle Ereignisprotokolle in MySQL speichert
Benutzern ermöglicht, nach E-Mails zu suchen
Die Original-E-Mail und jedes zugehörige Ereignis in einer einheitlichen Oberfläche anzeigt





