Construire un système d'archivage des e-mails : les défis et bien sûr la solution – Partie 1
Jeff Goldstein
4 févr. 2019
1 min read

Points Clés
L'archivage des emails est de plus en plus essentiel dans les environnements réglementaires, de conformité et d'audit.
SparkPost ne stocke pas les corps des emails, mais sa fonctionnalité d'Archivage permet aux expéditeurs de recevoir des messages en double qui reflètent les liens de suivi et le contenu.
Les corps des emails peuvent être stockés dans Amazon S3, tandis que les métadonnées des événements de message peuvent être stockées dans MySQL pour les requêtes et les croisements.
Les événements de message SparkPost fournissent des journaux d'activité riches (rebonds, livraisons, clics, ouvertures, désabonnements, plaintes, et plus).
Des copies d'archives ne sont générées que lors de l'envoi par SMTP.
Les événements de message pour les emails originaux, d'archive, CC et BCC partagent un transmission_id commun.
Le Relais de Messagerie Entrant peut ingérer des messages archivés mais n'inclut pas le transmission_id, créant un défi de liaison de données.
Intégrer un identifiant unique caché (UID) dans le corps du message comble cet écart et relie le contenu entrant aux journaux sortants.
La combinaison des e-mails archivés + des événements de message permet de construire un système d'archivage consultable et vérifiable.
Le projet à long terme comprend des versions de code pour stocker les emails archivés dans S3 et enregistrer les données d'événement dans MySQL.
L'application finale permettra une recherche, une visualisation et un rapprochement faciles du contenu des emails avec tout l'historique des événements associés.
Idéal pour les industries avec de fortes exigences de conformité qui nécessitent une visibilité complète sur chaque message envoyé.
Points forts des Q&A
Pourquoi créer votre propre système d'archivage d'email ?
Les industries réglementées nécessitent souvent un stockage à long terme à la fois du corps de l'email et de tous les journaux d'événements associés. SparkPost ne stocke pas les corps de message, donc construire un système personnalisé assure la conformité, l'audit et la visibilité.
Comment obtenez-vous une copie exacte de l'e-mail original envoyé?
La fonctionnalité Archive de SparkPost envoie un duplicata de chaque email sortant aux adresses d'archivage désignées, préservant tous les liens encodés et les comportements de suivi.
Pourquoi ne pouvez-vous pas capturer le corps de l'email avant de l'envoyer ?
La capture avant envoi n'inclut pas les modifications de SparkPost (suivi des ouvertures, suivi des clics, encodage des liens). L'utilisation des copies d'Archive garantit que votre version enregistrée correspond exactement à ce que les destinataires reçoivent.
SparkPost archive-t-il les emails automatiquement?
Non. SparkPost ne stocke pas les corps de message. Les copies d'archive doivent être demandées en spécifiant des adresses d'archive lors de l'injection SMTP.
Qu'est-ce qui est stocké où dans ce système d'archivage ?
Corps de l'email → Amazon S3
Logs d'événements de message → MySQL
Cette séparation prend en charge la recherche rapide, les requêtes structurées et le stockage d'objets peu coûteux.
Combien de temps SparkPost conserve-t-il les données d'événement ?
SparkPost stocke les événements de message pendant 10 jours. Après cela, les données doivent être intégrées via un webhook ou interrogées et stockées ailleurs.
Quels événements de message sont disponibles ?
SparkPost expose actuellement 14 événements, y compris les livraisons, les rebonds, les clics, les ouvertures, les rejets, les problèmes de politique, les plaintes de spam, les désabonnements, et plus encore.
Quels identifiants relient tous les événements ensemble ?
Tous les messages sortants (original, archive, CC, BCC) partagent le même transmission_id. L'email original et l'archive partagent également le même message_id.
Pourquoi le traitement inbound est-il un défi ?
Le relais d'email entrant de SparkPost convertit l'email entrant en JSON, mais ce JSON ne comprend pas transmission_id. Sans données supplémentaires, la copie entrante ne peut pas être liée à son historique de journal sortant.
Comment connectez-vous les emails d'archive entrants aux événements de message sortant?
Intégrez un identifiant unique (UID) caché dans le corps de l'email et passez le même UID dans les métadonnées. Cet UID devient la référence partagée à travers les enregistrements entrants et sortants.
Comment Inbound Email Relay aide-t-il à automatiser l'archivage ?
Il reçoit les e-mails archivés envoyés à votre domaine d'archivage, les analyse en JSON structuré, et les poste à votre application via webhook—permettant l'extraction et le stockage automatisés.
Quelle est la vision à long terme du projet ?
Une application complète qui :
Stocke les e-mails archivés dans S3
Stocke tous les journaux d'événements dans MySQL
Permet aux utilisateurs de rechercher des e-mails
Affiche l'email original et chaque événement associé dans une interface unifiée





